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

MySQL-Tabelle mit der Primär-ID AUTO_INCREMENT gibt die Nummer nach einem Rollback nicht frei

Aus Gründen der Parallelität kann der Wert für die automatische Erhöhung nicht mit Ihrer Transaktion "zurückgesetzt" werden. Wenn ein anderer Prozess Datensätze eingefügt hätte, während Ihre Transaktion in Bearbeitung war, riskieren Sie später eine Kollision mit deren IDs.

Nehmen wir als Beispiel an, Ihre Transaktion in Prozess „A“ greift auf die IDs 1,2 und 3 zu. Ein anderer Prozess „B“ wird ausgeführt und erhält die IDs 4 und 5. Wenn die Identität mit Ihrer Transaktion zurückgesetzt und der nächste Prozess „C“ benötigt wird 5 IDs, würde es 1,2,3,4,5 erhalten, aber 4 und 5 wurden bereits von Prozess "B" belegt.