Definicja kolumny SQL: wartość domyślna, a nie zerowa?

Widziałem wielokrotnie następującą składnię, która definiuje kolumnę w instrukcji create / alter DDL:

ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault"

Pytanie brzmi: skoro określona jest wartość domyślna, czy konieczne jest również określenie, że kolumna nie powinna akceptować wartości NULL? Innymi słowy, czy DEFAULT nie powoduje nadmiarowości NIE NULL?

questionAnswers(4)

yourAnswerToTheQuestion