Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiungere la chiave primaria di incremento automatico in base a un ordine di colonna?

Nota che la tabella MySQL può avere solo una colonna con AUTO_INCREMENT attributo.

Supponendo che la tabella non abbia una chiave primaria :

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;

Supponendo che la tabella disponga già di una chiave primaria NON incrementata :

Ometti semplicemente il PRIMARY parola chiave nel quarto comando.