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

hvordan genbruger man slettede primærnøgler i mysql?

Bruger:

ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... vil nulstille auto_increment-værdien til at være den næste baseret på den højeste eksisterende værdi i tabellen. Det betyder, at den ikke kan bruges til at rette mellemrum på mere end én.

Den eneste grund til at gøre dette ville være for kosmetiske - databasen er ligeglad med, om poster er sekventielle, kun at de relaterer til hinanden konsekvent. Der er ingen grund til at "rette" værdierne for databasens skyld.

Hvis du viser id værdier til brugeren, og derfor vil du gerne have, at de altid skal være sekventielle, så vil jeg anbefale at tilføje en surrogatnøgle. Brug surrogatnøglen til visning for brugeren, så værdierne kan sekvenseres efter behov, men referenceintegriteten ellers er upåvirket. Surrogatnøglen i dette tilfælde ville være en heltalskolonne.



  1. Fatal fejl:Kan ikke generklære session_start() i functions.php linje 25

  2. Sådan får du en beregnet kolonnes definition i SQL Server ved hjælp af T-SQL

  3. mysql SELECT LIKE skal kun matche hele ord med variablen

  4. Looping svg rektangler fra databasen