Saltar al contenido

¿Cómo agregar AUTO_INCREMENT a una columna existente?

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:

  1. Hacer una copia de la tabla. con los datos usando INSERT SELECT:

    CREATE TABLE backupTable LIKE originalTable; 
    INSERT backupTable SELECT * FROM originalTable;
    
  2. Eliminar datos de originalTable (para eliminar entradas duplicadas):

    TRUNCATE TABLE originalTable;
    
  3. Para agregar AUTO_INCREMENT y CLAVE PRIMARIA

    ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
    
  4. 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;
    
  5. 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.

Comentarios y puntuaciones del post

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *