
En MySQL, el auto_increment es una característica que automáticamente asigna un valor único y creciente a una columna cada vez que se inserta una nueva fila. Usualmente se aplica a la clave primaria de una tabla, asegurando que cada registro tenga un identificador único. ¿Qué pasa si olvidaste asignarlo al crear la tabla? Aquí te mostramos cómo agregarlo después.
Alterando la Tabla
La manera más común de agregar el auto_increment a una columna existente es usando la sentencia ALTER TABLE. Imagina que tienes una tabla llamada productos con una columna llamada id_producto que quieres que sea auto-incremental. El código sería algo así:
ALTER TABLE productos MODIFY id_producto INT AUTO_INCREMENT;
Este comando modifica la definición de la columna id_producto. Lo importante aquí es que la columna ya debe ser de un tipo entero (INT, BIGINT, etc.) para poder usar auto_increment. Si no lo es, debes cambiar el tipo de dato primero.
Must Read
Estableciendo la Clave Primaria (Si no existe)
Generalmente, la columna auto_increment se usa como la clave primaria de la tabla. Si tu columna id_producto aún no es la clave primaria, necesitas agregarla. Esto se hace también con ALTER TABLE:
ALTER TABLE productos MODIFY id_producto INT AUTO_INCREMENT PRIMARY KEY;
Esta sentencia combina la modificación del tipo de dato y la definición de la clave primaria en un solo paso (asumiendo que ya era un INT). Si ya es INT, puedes simplemente hacer:

ALTER TABLE productos ADD PRIMARY KEY (id_producto);
ALTER TABLE productos MODIFY id_producto INT AUTO_INCREMENT;
Es crucial que la columna sea la clave primaria o al menos tenga un índice UNIQUE para que el auto_increment funcione correctamente. De lo contrario, MySQL podría darte errores al insertar nuevos datos.
Estableciendo el Valor Inicial
Por defecto, el auto_increment comenzará en 1. Pero, ¿y si quieres que empiece en un número diferente? También puedes modificarlo con ALTER TABLE:

ALTER TABLE productos AUTO_INCREMENT = 1000;
Este comando establece que la próxima vez que se inserte una nueva fila en la tabla productos, la columna id_producto recibirá el valor 1000. Los siguientes registros tendrán valores 1001, 1002, y así sucesivamente.
Consideraciones Importantes
- Asegúrate de que la columna sea de tipo entero.
- La columna auto_increment debe ser la clave primaria o tener un índice
UNIQUE. - Si ya hay datos en la tabla, los nuevos valores auto_increment no colisionarán con los existentes.
- Puedes consultar el valor actual del auto_increment usando
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'tu_base_de_datos' AND TABLE_NAME = 'productos';
Con estas sencillas instrucciones, puedes agregar y configurar el auto_increment en tus tablas de MySQL incluso después de haberlas creado. ¡Ahora a practicar!