Kurz gesagt, ich habe eine SQL-Datei, die ich als Stildatei importieren möchte. skel
Dies wird also wiederholt programmgesteuert durchgeführt. Ich kann die SQL-Datei bearbeiten, wie ich möchte, aber ich möchte die Anwendung selbst lieber nicht berühren.
Diese Anwendung verwendet userid = 0
, um den anonymen Benutzer darzustellen. Es hat auch einen relevanten (leeren) Eintrag in der Datenbank, um diesen 'Benutzer' darzustellen. Daher skel.sql
sieht die Zeile in meinem ungefähr so aus:
INSERT INTO `{{TABLE_PREFIX}}users` VALUES (0, '', '', '', 0, 0, 0, '', '', 0, 0, 0, 0, 0, NULL, '', '', '', NULL);
Das Problem dabei ist, dass uid
es sich um ein auto_increment
Feld handelt, für das technisch gesehen 0
ein ungültiger Wert vorliegt. Oder zumindest, wenn Sie es auf 0 setzen, sagen Sie MySQL im Grunde: "Bitte geben Sie die nächste ID in dieses Feld ein."
Nun, ich nehme an, ich könnte INSERT
eine UPDATE
Abfrage in meine SQL-Datei einfügen, aber gibt es eine Möglichkeit, MySQL im Allgemeinen mitzuteilen, dass ich tatsächlich 0
in dieses Feld einfügen möchte ?
sql_mode
Eine durch Kommas getrennte Liste von Flags. Wenn Sie dies tunsql_mode='NO_AUTO_VALUE_ON_ZERO'
, können Sie versehentlich andere Flags deaktivieren