Restablecer incremento automático en MySQL
Este tutorial presentará cómo restablecer el incremento automático en la tabla MySQL.
La mayoría de las empresas y organizaciones que usan MySQL necesitan insertar valores en varias tablas simultáneamente. Si bien no es posible tener todos los campos de los registros insertados para que no estén vacíos, podría causar errores o generar un error al momento de obtener estos registros en función de una condición particular.
Para resolver este problema, MySQL nos ayuda con un campo de incremento automático. Nos ayuda a agregar o actualizar un valor particular en MySQL cada vez que se inserta un nuevo registro. Generalmente se usa para la columna asociada con la clave principal.
A medida que el valor de esta variable sigue aumentando, se vuelve esencial para el analista tener control sobre el valor de esta variable. Se puede hacer con la instrucción ALTER TABLE
.
Tratemos de entender esto con mayor profundidad.
Sin embargo, creamos dos tablas ficticias para trabajar antes de comenzar. Aquí creamos una tabla, student_dates_1
, junto con algunas filas.
-- create the table student_dates_3
CREATE TABLE student_dates_3(
stu_id int NOT NULL AUTO_INCREMENT,
stu_firstName varchar(255) DEFAULT NULL,
stu_date date,
primary key(stu_id)
);
Inserción de entradas en la tabla student_dates
utilizando la instrucción INSERT
La consulta anterior crea una tabla con el nombre student_dates
. Ahora, con la ayuda de la declaración INSERT
, intentemos agregar datos para algunos estudiantes. Esta operación se puede hacer de la siguiente manera:
-- insert rows to the table student_dates_3
INSERT INTO student_dates_3(stu_firstName,stu_date)
VALUES("Preet",STR_TO_DATE('24-May-2005', '%d-%M-%Y')),
("Dhruv",STR_TO_DATE('14-June-2001', '%d-%M-%Y')),
("Mathew",STR_TO_DATE('13-December-2020', '%d-%M-%Y')),
("Jeet",STR_TO_DATE('14-May-2003', '%d-%M-%Y')),
("Steyn",STR_TO_DATE('19-July-2002', '%d-%M-%Y'));
El citado código introduciría los datos del alumno en la tabla student_dates
.
SELECT * from student_dates_3;
Producción :
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
Restableciendo el Valor de AUTO_INCREMENT
Para actualizar el valor de la variable AUTO_INCREMENT
a un valor particular, se puede usar la siguiente sintaxis.
ALTER TABLE name_of_the_table AUTO_INCREMENT = x;
En la consulta antes mencionada, x
representa el valor actualizado que debe agregarse en la tabla indicada. Esta lógica se puede utilizar para actualizar el valor de la variable para la tabla student_dates_3
con la ayuda de la siguiente consulta.
ALTER TABLE student_dates_3 AUTO_INCREMENT = 100;
La clave primaria stu_id
se actualiza automáticamente con el valor establecido en la variable AUTO_INCREMENT
si añadimos registros. Ahora vamos a insertar un valor en la tabla student_dates_3
.
-- insert rows to the table student_dates_3
INSERT INTO student_dates_3(stu_firstName,stu_date)
VALUES("Rutvik",STR_TO_DATE('16-January-2001', '%d-%M-%Y'));
Tendremos el stu_id
para el estudiante llamado Rutvik
como 100
. Esto se puede comprobar con la siguiente consulta.
SELECT * from student_dates_3;
Producción :
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
6 Rutvik 2001-16-01
Así, con la ayuda de la declaración ALTER TABLE
y la palabra clave AUTO_INCREMENT
, podemos actualizar de manera eficiente el valor del campo AUTO_INCREMENT
para actualizar automáticamente los valores de los registros en la columna asociada con la clave principal.