Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Umgang mit der Fragmentierung der auto_increment-ID-Spalte in MySQL

Eine Umnummerierung führt zu Verwirrung. Vorhandene Berichte beziehen sich auf Datensatz 99, und wenn das System diesen Datensatz dennoch auf 98 neu nummeriert, sind jetzt alle Berichte (und ausgefüllten Benutzeroberflächen) falsch. Sobald Sie eine eindeutige ID zugewiesen haben, muss diese unverändert bleiben.

Die Verwendung von ID-Feldern für etwas anderes als eine einfache eindeutige Nummerierung wird problematisch sein. Eine Anforderung für "keine Lücken" ist einfach unvereinbar mit der Anforderung, löschen zu können. Vielleicht könnten Sie Datensätze als gelöscht markieren, anstatt sie zu löschen. Dann gibt es wirklich keine Lücken. Angenommen, Sie erstellen nummerierte Rechnungen:Sie würden eine stornierte Rechnung mit Nullwert mit dieser Nummer haben, anstatt sie zu löschen.