Restablecer incremento automático en MySQL

Preet Sanghavi 28 marzo 2022
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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub