Ich habe neulich MySQL Workbench installiert, auf die Datenbank meines Unternehmens zugegriffen und mir eine Tabelle zum Arbeiten erstellt. So weit, ist es gut. Das Problem ist, ich habe festgestellt, dass mein auto_increment 2 um 2 erhöht. Zum Beispiel:
ID NAME
1 Paul
3 Jack
5 Louis
7 John
...
Wenn ich das SHOW VARIABLES LIKE 'auto_inc%'
bekomme, bekomme ich folgendes:
'auto_increment_increment', '2'
'auto_increment_offset', '1'
Also habe ich versucht auto_increment_increment
, 1 zu setzen mit:
SET @@auto_increment_increment=1
Und nach erneuter Überprüfung mit SHOW VARIABLES LIKE 'auto_inc%'
bestätigte ich, dass es mit dem Ergebnis "funktioniert" hat:
'auto_increment_increment', '1'
'auto_increment_offset', '1'
Aber meine IDs werden immer noch um 2 mal 2 erhöht .
Das erste Mal, als ich es tat, funktionierte es gut und dann schloss ich MySQL Workbench, um festzustellen, dass es beim erneuten Öffnen wieder auto_increment_increment
auf 2 gesetzt wurde. Jetzt versuche ich es noch einmal, aber es scheint nicht einmal mehr zu funktionieren.
Kann mir bitte jemand dabei helfen?
Danke Leute.
quelle
Antworten:
Das verwendete Präfix:
Ist das gleiche wie:
Wenn Sie diese Einstellung ändern, wird sie nur in Ihrer aktuellen Sitzung relevant.
Um eine dauerhaftere Lösung zu finden, versuchen Sie:
Ist das gleiche wie:
quelle
Beide Variablen haben globale und Sitzungswerte. Es ist also sehr wahrscheinlich, dass Sie nur den Wert der Sitzung geändert haben, der beim Schließen der MySQL Workbench nicht mehr vorhanden war.
Eine weitere Einschränkung, auf die Sie achten sollten, ist die folgende
Was Sie auch täuschen könnte, ist die Art und Weise, wie der nächste Autoincrement-Wert berechnet wird, wenn Sie die Inkrementgröße ändern. Es wird nicht der zuletzt gespeicherte Spaltenwert verwendet, sondern der nächsthöhere Wert mithilfe der Formel berechnet
während N eine ganze Zahl ist, so dass der neue Wert größer als der größte vorhandene ist.
Weitere Informationen zur Funktionsweise finden Sie in der Dokumentation zu auto_increment_increment .
quelle