Ändern Sie den Schritt auto_increment-Felder Schrittweite von
Wie ändere ich die Menge auto_increment
Felder in der MySQL-Inkrement von der Standardeinstellung (1) zu n?
Wollen Sie ändern, der nächste Wert verwendet, oder die Stufe, die zwischen Werte (z.B. Schritt-Wert von 2, 1, 3, 5, 7, etc)?
sorry, wenn die Frage mehrdeutig ist ja richtig ich will die auto_increment-durchgeführt werden sollte, wie bereits von Ihnen (wie die Identität(1,3) in der sql server, die zu einer Erhöhung der next-Wert von 3)
Ich habe bearbeitet Sie die Frage, die hoffentlich machen es zu Fragen, was Sie gemeint!
sorry, wenn die Frage mehrdeutig ist ja richtig ich will die auto_increment-durchgeführt werden sollte, wie bereits von Ihnen (wie die Identität(1,3) in der sql server, die zu einer Erhöhung der next-Wert von 3)
Ich habe bearbeitet Sie die Frage, die hoffentlich machen es zu Fragen, was Sie gemeint!
InformationsquelleAutor sansknwoledge | 2009-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ändern möchten, Auto-Inkrement-Schritt von 1 bis N, dann gibt es eine Lösung.
Es könnte getan werden, auf dem MySQL server-Seite:
suchen Sie nach der "--auto-increment-increment' Autostart-option oder verwenden Sie folgenden Befehl
SET @@auto_increment_increment=2;
, aber seien Sie gewarnt, dass dies eine server-weite ändern (alle Tische increment by 2).Unortodox Lösungen könnte, die betrachtet werden könnten:
auto_increment_increment=1
andere mitauto_increment_increment=2
)auto_increment
manuell zu berechnen (einfache Blick auf die Letzte id und +=2 wäre ok) und eine id inINSERT
Abfrage.Einige offizielle MySQL-FAQ
die Idee ist diese: Server={db1,db2,db3}; "db01": {--auto-increment-offset=0;--auto-increment-increment=3}; "db02": {--auto-increment-offset=1;--auto-increment-increment=3};db03:{ --auto-increment-offset=2;--auto-increment-increment=3}; so, db1 erzeugt nur IDs wo man (n % 3) == 0, für db2 (n % 3) == 1, db3 (n % 3) == 2; d.h. db1:"3,6,9,..." db2:"1,4,7,..." db3:"2,5,8" -> kein id-Konflikt
danke für die Aufklärung, aber wenn ich mehr als eine Tabelle in meiner db alle mit autogenerate Spalten und ich möchte nur eine Tabelle zu erhöhen in Schritten von sagen wir 2 und der rest Folgen 3 was soll ich tun?
Gibt es eine Möglichkeit, um dieses Inkrement, Schritt für nur eine einzige Tabelle.
InformationsquelleAutor mth
Können Sie es ändern mit
ALTER TABLE
:Oder wenn Sie wollen, zu tun setzen Sie von Anfang:
Yep, dies nicht zu tun, was er versucht zu tun (habe ich jetzt bearbeitet die Frage, die hoffentlich deutlicher machen).
InformationsquelleAutor Lukáš Lalinský
Können Sie auch verwenden
ALTER SEQUENCE sequence_name INKREMENT VON N, wobei N die neuen incremnent Wert.
Oh, es ist ein großer Fehler
InformationsquelleAutor Sachin Chourasiya
wobei n die Nummer, die Sie starten möchten
Dies ist nur der Anfang Wert
InformationsquelleAutor Treby