sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo actualizo una tabla para agregar una clave principal y actualizar todas las filas existentes con ID incrementados?

Después de agregar una nueva columna de ID (no establezca como clave principal todavía, y no active el incremento automático), ejecute:

SET @index = 1;
UPDATE tablename SET ID = (@index:[email protected]+1);

Esto establece un valor de ID incremental a partir de 1 en cada una de sus filas existentes, resolviendo así el problema de clave duplicada que enfrentaría si intentara insertar una nueva columna de clave principal después de que ya se hayan ingresado los datos.

Una vez hecho esto, puede establecer la columna ID como clave principal con incremento automático.