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

Id-Spalte in einer MySQL-Tabelle neu sortieren?

Im Allgemeinen ist es mühsam, Primärschlüssel in einer Datenbank zu aktualisieren, da dies häufig zu einer Kette von Aktualisierungen durch alle Tabellen führt, die auf diesen Primärschlüssel verweisen. Bei vielen Engines können Sie mit der CASCADE-Option erzwingen, dass diese Aktualisierung automatisch erfolgt, aber es führt immer noch zu vielen ansonsten unnötigen Datenbankaktualisierungen.

Die normale Verwendung von automatisch inkrementierenden ganzzahligen Primärschlüsseln ist als permanente, bedeutungslose, unveränderliche Werte.

Das heißt, wenn Sie wirklich diese Schlüssel aktualisieren möchten, können Sie dies mit dem Befehl

tun
 UPDATE YourTable SET id = id - 1 WHERE id > (value you deleted)

Alternativ können Sie eine zweite Integer-Spalte pflegen, nicht den Primärschlüssel der Tabelle, und diese Spalte nach jedem Löschen aktualisieren.