31 Stimmen

Wie kann ich eine leere Zeile einfügen, aber die automatische Nummerierung korrekt aktualisieren lassen?

Ich hatte gehofft, etwas tun zu können wie

INSERT INTO `table`;

oder vielleicht sogar eine SET-Klausel wie

SET `primary_key` = null

wobei alle Spalten der Tabelle nicht gesetzt sind (und auf ihren Standardwerten belassen werden), mit Ausnahme des selbstnummerierten Primärschlüssels, der gesetzt sein sollte.

Irgendwelche Vorschläge?

48voto

Dan Simon Punkte 12543
INSERT INTO `table` (`primary_key`) VALUES (NULL);

46voto

Joe Stefanelli Punkte 128819
INSERT INTO `table` () VALUES();

40voto

Linus Unnebäck Punkte 19658

Ich glaube, die korrektere Antwort wäre die folgende:

INSERT INTO my_table DEFAULT VALUES

Wie hier vorgeschlagen: https://stackoverflow.com/a/13605273/148072

7voto

Alex Punkte 1185

Ein bisschen spät Aber vielleicht praktisch für alle, die nach dieser Antwort suchen.

INSERT INTO `table` () VALUES ()

Eine Angabe des Primärschlüssels ist nicht erforderlich.

3voto

stefgosselin Punkte 8802

Das hängt von Ihrem Tisch ab. Wenn sie für jedes Feld Nullwerte zulässt, fügen Sie einfach alle Werte als Nullwerte ein. Wenn sie nicht für jedes Feld Nullwerte zulässt, müssen Sie eine Zeile einfügen, in der diese Felder einen Wert haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X