sql >> Databasteknik >  >> RDS >> Mysql

Få MySQL auto-increment id (om) att börja från 1

Förutsatt att det inte finns några främmande nyckelproblem att hantera, kommer den här koden att göra det:

set @id:=0;
update mytable
set id = (@id := @id + 1)
order by id;

Om det finns problem med främmande nyckel, se till att dina begränsningar är definierade så här innan du kör uppdateringen:

ALTER CHILD_TABLE ADD CONSTRAINT
FOREIGN KEY MYTABLE_ID REFERENCES MYTABLE
ON UPDATE CASCADE; -- This is the important bit

När allt är klart, kör du detta för att fixa värdet för auto_increment:

SELECT MAX(ID) + 1 FROM MYTABLE; -- note the output
ALTER TABLE MYTABLE AUTO_INCREMENT = <result from above>;


  1. MySQL-fel 1064 när främmande nyckel läggs till med MySQL Workbench

  2. ODBC 4.0

  3. GROUP och COUNT() åldrar i CakePHP

  4. Uppgradera MySQL till MariaDB 10 (Del 2 – Uppgradera MariaDB/MySQL 5.5 till version 10.0)