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

Wie können wir die gelöschte ID aus einer beliebigen MySQL-DB-Tabelle wiederverwenden?

Es kann möglich sein, die niedrigste unbenutzte ID zu finden und zu erzwingen, aber es ist eine schrecklich schlechte Praxis, hauptsächlich wegen der referentiellen Integrität:Es könnte beispielsweise sein, dass Beziehungen aus anderen Tabellen auf einen gelöschten Datensatz verweisen, der nicht als erkennbar wäre nicht mehr "gelöscht", wenn IDs wiederverwendet wurden.

Fazit:Tu es nicht. Das ist eine wirklich schlechte Idee.

Verwandte Lektüre:Using auto_increment in the mySQL manual

Zu Ihrem Update:Selbst wenn Sie einen legitimen Grund dafür haben, glaube ich nicht, dass es eine automatische Möglichkeit gibt, Werte in einem auto_increment wiederzuverwenden aufstellen. Wenn überhaupt, müssten Sie den niedrigsten unbenutzten Wert finden (möglicherweise mit einer gespeicherten Prozedur oder einem externen Skript) und diesen als ID erzwingen (falls das überhaupt möglich ist).