Comme documenté sous Valeurs par défaut du type de données :
Si la colonne peut prendre
NULL
en tant que valeur, la colonne est définie avec unDEFAULT NULL
explicite clause.
(Je pense qu'ils voulaient dire implicite , non explicite ).
De plus, comme documenté sous CREATE TABLE
Syntaxe :
Si ni
NULL
niNOT NULL
est spécifié, la colonne est traitée comme siNULL
avait été spécifié.
Par conséquent, dans MySQL, les définitions de colonne suivantes sont toutes identiques :
columnname type
columnname type NULL
columnname type DEFAULT NULL
columnname type NULL DEFAULT NULL
Le choix de celui à utiliser est un équilibre entre être explicite et concis. Selon les circonstances, je pourrais utiliser l'un des éléments ci-dessus.