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

Hvordan kan vi genbruge det slettede id fra enhver MySQL-DB-tabel?

Det kan være muligt ved at finde det laveste ubrugte ID og fremtvinge det, men det er frygtelig dårlig praksis, primært på grund af referenceintegritet:Det kan for eksempel være, at relationer fra andre tabeller peger på en slettet post, som ikke ville kunne genkendes som "slettet" mere, hvis ID'er blev genbrugt.

Nederste linje:Lad være med at gøre det. Det er en rigtig dårlig idé.

Relateret læsning:Brug af auto_increment i mySQL-manualen

Om din opdatering:Selvom du har en legitim grund til at gøre dette, tror jeg ikke, der er en automatisk måde at genbruge værdier i en auto_increment Mark. Hvis overhovedet, ville du skulle finde den laveste ubrugte værdi (måske ved hjælp af en lagret procedure eller et eksternt script) og tvinge det som ID (hvis det overhovedet er muligt).



  1. problem med kolonnenavn 'type' i skinner 3

  2. hvordan man bruger kanoniske funktioner i Entity Framework og Mysql

  3. Dvale:Brug af to forskellige databaseskemaer i samme applikation

  4. Hvordan erklærer man et array af rækketype i en PostgreSQL-funktion?