DEFAULT
это значение, которое будет вставлено при отсутствии явного значения в операторе вставки / обновления. Предположим, у вашего DDL не было NOT NULL
ограничения:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT "MyDefault"
Тогда вы могли бы выпустить эти заявления
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);
В качестве альтернативы вы также можете использовать операторы DEFAULT
in в UPDATE
соответствии со стандартом SQL-1992 :
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
Обратите внимание, что не все базы данных поддерживают все эти стандартные синтаксисы SQL. Добавление NOT NULL
ограничения вызовет ошибку с операторами 4, 6
, пока 1-3, 5
они остаются действительными. Итак, чтобы ответить на ваш вопрос: нет, они не лишние.