Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie füge ich den Primärschlüssel mit automatischer Inkrementierung basierend auf einer Spaltenreihenfolge hinzu?

Beachten Sie, dass die MySQL-Tabelle nur eine Spalte mit AUTO_INCREMENT haben kann Attribut.

Angenommen, die Tabelle hat keinen Primärschlüssel :

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;

Angenommen, die Tabelle hat bereits einen NICHT-inkrementierten Primärschlüssel :

Lassen Sie einfach den PRIMARY weg Schlüsselwort im vierten Befehl.