Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour une table pour ajouter une clé primaire et mettre à jour toutes les lignes existantes avec des ID incrémentés ?

Après avoir ajouté une nouvelle colonne ID (ne la définissez pas encore comme clé primaire et n'activez pas l'incrémentation automatique), exécutez :

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

Cela définit une valeur d'ID incrémentielle à partir de 1 sur chacune de vos lignes existantes, résolvant ainsi le problème de clé en double auquel vous seriez confronté si vous tentiez d'insérer une nouvelle colonne de clé primaire après que les données aient déjà été saisies.

Une fois cela fait, vous pouvez définir la colonne ID comme clé primaire avec incrémentation automatique.