Mysql
 sql >> база данни >  >> RDS >> Mysql

Направете MySQL автоматично увеличаване на идентификатора (re) да започва от 1

Ако приемем, че няма проблеми с външния ключ, с които да се справите, този код ще го направи:

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

Ако има проблеми с външния ключ, уверете се, че вашите ограничения са дефинирани по този начин преди изпълнявате актуализацията:

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

Когато всичко е готово, изпълнете това, за да коригирате стойността на auto_increment:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django не може да намери MySQLdb python модул

  2. Как да намерите съпоставянето в MySQL

  3. Запитване на MySQL с IN клауза с помощта на PHP

  4. Unicode в MySQL Regex?

  5. Как мога да намеря всички таблици в MySQL с конкретни имена на колони в тях?