DEFAULT
é o valor que será inserido na ausência de um valor explícito em uma instrução de inserção / atualização. Vamos supor que seu DDL não tenha a NOT NULL
restrição:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT "MyDefault"
Então você poderia emitir essas declarações
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);
Como alternativa, você também pode usar DEFAULT
em UPDATE
instruções, de acordo com o padrão SQL-1992 :
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
Observe que nem todos os bancos de dados oferecem suporte a todas essas sintaxes padrão SQL. Adicionar a NOT NULL
restrição causará um erro nas instruções 4, 6
, embora 1-3, 5
ainda sejam instruções válidas. Portanto, para responder à sua pergunta: Não, eles não são redundantes.