Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Faça o id de incremento automático do MySQL (re) começar de 1


Supondo que não haja problemas de chave estrangeira para lidar, este código fará isso:
set @id:=0;
update mytable
set id = (@id := @id + 1)
order by id;

Se houver problemas de chave estrangeira, certifique-se de que suas restrições estejam definidas assim antes você executa a atualização:
ALTER CHILD_TABLE ADD CONSTRAINT
FOREIGN KEY MYTABLE_ID REFERENCES MYTABLE
ON UPDATE CASCADE; -- This is the important bit

Quando tudo estiver pronto, execute isso para corrigir o valor de auto_increment:
SELECT MAX(ID) + 1 FROM MYTABLE; -- note the output
ALTER TABLE MYTABLE AUTO_INCREMENT = <result from above>;