Come documentato in Valori predefiniti del tipo di dati:
Se la colonna può assumere NULL
come valore, la colonna è definita con un esplicito DEFAULT NULL
clausola.
(Penso che volessero dire implicito , non esplicito ).
Inoltre, come documentato in CREATE TABLE
Sintassi:
Se nessuno dei due NULL
né NOT NULL
è specificato, la colonna viene trattata come se fosse NULL
era stato specificato.
Pertanto, in MySQL le seguenti definizioni di colonna sono tutte identiche:
columnname type
columnname type NULL
columnname type DEFAULT NULL
columnname type NULL DEFAULT NULL
La scelta di quale utilizzare è un equilibrio tra essere esplicito ed essere conciso. A seconda delle circostanze, potrei utilizzare uno qualsiasi dei precedenti.