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

Få MySQL auto-increment id (gen) til at starte fra 1

Forudsat at der ikke er nogen udenlandske nøgleproblemer at håndtere, vil denne kode gøre det:

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

Hvis der er udenlandske nøgleproblemer, skal du sørge for, at dine begrænsninger er defineret på denne måde før du udfører opdateringen:

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

Når det hele er færdigt, skal du udføre dette for at rette op på auto_increment-værdien:

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


  1. Brug af SSH Tunneling som et VPN-alternativ

  2. Korrumperer Django tidszonebevidst DateTimeField, når det gemmer det i databasen?

  3. WHERE-tilstand i MySQL med 16 forskellige forespørgselseksempler

  4. Konvertering af en IP til en Long i MySQL