DEFAULT
es el valor que se insertará en ausencia de un valor explícito en una declaración de inserción / actualización. Supongamos que su DDL no tenía la NOT NULL
restricción:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT "MyDefault"
Entonces podrías emitir estas declaraciones
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);
Alternativamente, también puede usar DEFAULT
en UPDATE
declaraciones, de acuerdo con el estándar SQL-1992 :
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
Tenga en cuenta que no todas las bases de datos admiten todas estas sintaxis estándar de SQL. Agregar la NOT NULL
restricción provocará un error con las declaraciones 4, 6
, mientras que 1-3, 5
aún sean declaraciones válidas. Entonces, para responder a su pregunta: No, no son redundantes.