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

Riordina/ripristina la chiave primaria con incremento automatico

Anche se questa domanda sembra essere piuttosto vecchia, pubblicherò una risposta per qualcuno che raggiunge qui la ricerca.

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

Se la colonna viene utilizzata come chiave esterna in altre tabelle, assicurati di utilizzare ON UPDATE CASCADE invece del valore predefinito ON UPDATE NO ACTION per la relazione di chiave esterna in quelle tabelle.

Inoltre, per ripristinare il AUTO_INCREMENT conteggio, puoi immediatamente emettere la seguente dichiarazione.

ALTER TABLE `users` AUTO_INCREMENT = 1;

Per MySQL ripristinerà il valore su MAX(id) + 1 .