Definición de columna SQL: valor predeterminado y no nulo redundante?
He visto muchas veces la siguiente sintaxis que define una columna en una declaración de creación / alteración de DDL:
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault"
La pregunta es: ya que se especifica un valor predeterminado, ¿es necesario también especificar que la columna no debe aceptar NULL? En otras palabras, ¿DEFAULT no es NULL redundante?