sql >> Database >  >> RDS >> Mysql

Ik wil de gaten in de verwijderde rijen opnieuw gebruiken

Echt, dat zou je niet moeten doen. Primaire sleutels moeten puur technische, betekenisloze waarden zijn. Hun waarde, en de eentonigheid van de generatie, zou er helemaal niet toe moeten doen.

Bovendien, aangezien het de PK van de rij is, heb je potentieel tientallen (of duizenden) andere rijen in andere tabellen die verwijzen naar deze ID (buitenlandse sleutels), dus het zou niet voldoende zijn om het in de tabel te veranderen:je zou moeten veranderen het overal.

En de kans is groot dat er ook naar deze ID wordt verwezen in andere applicaties (het kan bijvoorbeeld onderdeel zijn van een bladwijzer-URL in een browser), en het wijzigen van de waarde ervan zou al deze verwijzingen ongeldig maken.

Verander nooit een primaire sleutel. Het zou voor altijd onveranderlijk moeten zijn.

EDIT:ik heb de vraag verkeerd gelezen. U wilt eigenlijk een oude ID opnieuw gebruiken. Dit is ook een slecht idee. Bestaande verwijzingen zouden verwijzen naar iets anders dan waar ze aanvankelijk naar verwezen. Dit is wat er gebeurt als je je telefoonnummer wijzigt en het wordt hergebruikt door iemand anders, die veel oproepen begint te ontvangen van mensen die nog steeds denken dat dit telefoonnummer van jou is. Heel irritant. U wilt deze situatie vermijden.




  1. Gebruik van parameters voor mysql_query

  2. Is het mogelijk om het mac-adres te krijgen met behulp van een opgeslagen procedure?

  3. Hoe voeg ik AUTO_INCREMENT toe aan een bestaande kolom?

  4. Oracle Sequence nextval springt nummer heen en weer