DEFAULT
ist der Wert, der eingefügt wird, wenn in einer Einfüge- / Aktualisierungsanweisung kein expliziter Wert vorhanden ist. Nehmen wir an, Ihre DDL hatte nicht die NOT NULL
Einschränkung:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT 'MyDefault'
Dann könnten Sie diese Aussagen machen
INSERT INTO tbl (A, B) VALUES (NULL, NULL);
INSERT INTO tbl (A, B, col) VALUES (NULL, NULL, DEFAULT);
INSERT INTO tbl (A, B, col) DEFAULT VALUES;
INSERT INTO tbl (A, B, col) VALUES (NULL, NULL, NULL);
Alternativ können Sie auch DEFAULT
in UPDATE
Aussagen, nach dem SQL-1992 - Standard:
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
Beachten Sie, dass nicht alle Datenbanken alle diese SQL-Standardsyntaxen unterstützen. Das Hinzufügen der NOT NULL
Einschränkung führt zu einem Fehler bei Anweisungen 4, 6
, solange diese 1-3, 5
noch gültig sind. Um Ihre Frage zu beantworten: Nein, sie sind nicht überflüssig.