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

Jeg vil genbruge hullerne i de slettede rækker

Det burde du virkelig ikke. Primære nøgler bør være rent tekniske, meningsløse værdier. Deres værdi og generationens monotoni burde overhovedet ikke betyde noget.

Desuden, eftersom det er rækkens PK, vil du potentielt have snesevis (eller tusinder) af andre rækker i andre tabeller, der refererer til dette ID (fremmednøgler), så det ville ikke være nok at ændre det i tabellen:du skulle ændre det overalt.

Og der er en god chance for, at dette ID også refereres til i andre applikationer (det kunne f.eks. være en del af en bogmærket URL i en browser), og hvis værdien ændres, vil alle disse referencer blive ugyldige.

Du bør aldrig ændre en primær nøgle. Det burde være uforanderligt, for altid.

EDIT:Jeg har misforstået spørgsmålet. Du vil faktisk genbruge et gammelt ID. Dette er også en dårlig idé. Eksisterende referencer vil referere til noget andet end de oprindeligt refererede. Dette er, hvad der sker, når du ændrer dit telefonnummer, og det bliver genbrugt af en anden, som begynder at modtage mange opkald fra folk, der stadig tror, ​​at dette telefonnummer er dit. Meget irriterende. Du ønsker at undgå denne situation.




  1. Entity Framework 6 GUID som primær nøgle:Kan ikke indsætte værdien NULL i kolonne 'Id', tabel 'FileStore' kolonne tillader ikke null

  2. Sådan flettes 2 eller flere datointerval til 1

  3. c# mysql sum forespørgsel til etiket

  4. Hvordan henter jeg data fra flere relaterede tabeller i Postgres?