DEFAULT
to wartość, która zostanie wstawiona w przypadku braku jawnej wartości w instrukcji wstawiania / aktualizowania. Załóżmy, że Twój DDL nie miał NOT NULL
ograniczenia:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT "MyDefault"
Wtedy mógłbyś wydać takie oświadczenia
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);
Alternatywnie możesz również użyć DEFAULT
w UPDATE
instrukcjach, zgodnie ze standardem SQL-1992 :
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
Należy zauważyć, że nie wszystkie bazy danych obsługują wszystkie te standardowe składnie języka SQL. Dodanie NOT NULL
ograniczenia spowoduje błąd w instrukcjach 4, 6
, mimo że 1-3, 5
nadal są poprawnymi instrukcjami. A więc odpowiadając na twoje pytanie: nie, nie są one zbędne.