Puede que se de el caso de que encuentres algún error en tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.
Solución:
creo que quieres MODIFY
la columna como se describe para el ALTER TABLE
dominio. Podría ser algo como esto:
ALTER TABLE users MODIFY id INTEGER NOT NULL AUTO_INCREMENT;
Antes de ejecutar arriba asegúrese de que id
la columna tiene un índice principal.
Método para agregar AUTO_INCREMENT a una tabla con datos mientras evita “Entrada duplicada” error:
-
Hacer una copia de la tabla. con los datos usando INSERT SELECT:
CREATE TABLE backupTable LIKE originalTable; INSERT backupTable SELECT * FROM originalTable;
-
Eliminar datos de originalTable (para eliminar entradas duplicadas):
TRUNCATE TABLE originalTable;
-
Para agregar AUTO_INCREMENT y CLAVE PRIMARIA
ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
-
Copie los datos de nuevo a la tabla original (haga no incluya la columna recién creada (id), ya que se completará automáticamente)
INSERT originalTable (col1, col2, col3) SELECT col1, col2,col3 FROM backupTable;
-
Eliminar tabla de copia de seguridad:
DROP TABLE backupTable;
¡Espero que esto sea útil!
Más sobre la duplicación de tablas usando CREATE LIKE:
Duplicar una tabla MySQL, índices y datos
Alter table table_name modify column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
Debes agregar el primario key para incrementar automáticamente, de lo contrario, obtuvo un error en mysql.