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

jak znovu použít smazané primární klíče v mysql?

Použití:

ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... resetuje hodnotu auto_increment na další na základě nejvyšší existující hodnoty existující v tabulce. To znamená, že jej nelze použít k opravě více než jedné mezery.

Jediný důvod, proč to udělat, by byly kosmetické - databázi nezáleží na tom, zda jsou záznamy sekvenční, pouze na tom, že spolu konzistentně souvisí. V zájmu databáze není třeba hodnoty "opravovat".

Pokud zobrazujete id hodnoty pro uživatele, což je důvod, proč byste chtěli, aby byly vždy sekvenční, pak bych doporučil přidat náhradní klíč. Pro zobrazení uživateli použijte náhradní klíč, takže hodnoty lze podle potřeby znovu sekvenovat, ale jinak není ovlivněna referenční integrita. Náhradním klíčem by v tomto případě byl celočíselný sloupec.



  1. Dotaz, abych spočítal počet tabulek, které mám v MySQL

  2. SQLite Limit

  3. SQLSTATE[23000]:Porušení omezení integrity:1452 Nelze přidat nebo aktualizovat podřízený řádek:omezení cizího klíče se nezdaří

  4. SQL UNION Cheat Sheet s 10 snadnými a užitečnými tipy