Conforme documentado em Valores padrão de tipo de dados:
Se a coluna pode receberNULL
como um valor, a coluna é definida com umDEFAULT NULL
explícito cláusula.
(Acho que eles queriam dizer implícito , não explícito ).
Além disso, conforme documentado em
CREATE TABLE
Sintaxe:
Se nemNULL
nemNOT NULL
for especificado, a coluna será tratada como seNULL
havia sido especificado.
Portanto, no MySQL, as seguintes definições de coluna são todas idênticas:
columnname type
columnname type NULL
columnname type DEFAULT NULL
columnname type NULL DEFAULT NULL
A escolha de qual usar é um equilíbrio entre ser explícito e ser conciso. Dependendo das circunstâncias, eu poderia usar qualquer um dos itens acima.