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

Comment ajouter une clé primaire d'incrémentation automatique en fonction d'un ordre de colonne ?

Notez que la table MySQL ne peut avoir qu'une seule colonne avec AUTO_INCREMENT attribut.

En supposant que la table n'a pas de clé primaire :

ALTER TABLE table_name ADD COLUMN new_id INT NOT NULL;
SET @x = 0;
UPDATE table_name SET new_id = (@x:[email protected]+1) ORDER BY whateveryouwant ASC;
ALTER TABLE table_name ADD PRIMARY KEY new_id (new_id);
ALTER TABLE table_name CHANGE new_id new_id INT NOT NULL AUTO_INCREMENT;

En supposant que la table a déjà une clé primaire NON incrémentée :

Omettez simplement le PRIMARY mot-clé dans la quatrième commande.