sql >> Databáze >  >> RDS >> Mysql

Nechejte (znovu) automatické zvyšování ID MySQL od 1

Za předpokladu, že neexistují žádné problémy s cizím klíčem, které je třeba řešit, udělá to tento kód:

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

Pokud existují problémy s cizím klíčem, ujistěte se, že jsou vaše omezení definována takto dříve provedete aktualizaci:

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

Až bude vše hotovo, spusťte toto, abyste opravili hodnotu auto_increment:

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


  1. Nainstalujte řazení utf8 v PostgreSQL

  2. 4 způsoby, jak získat informace o struktuře tabulky v SQLite

  3. Jak používat EXISTS Logical Operator v SQL Server - SQL Server / TSQL výukový program, část 125

  4. Řešení pro ORA-00997:nelegální použití datového typu LONG