Zgodnie z dokumentacją w części Domyślne wartości typu danych:
Jeśli kolumna może przyjąć NULL
jako wartość kolumna jest zdefiniowana z wyraźnym DEFAULT NULL
klauzula.
(Myślę, że mieli na myśli niejawne , a nie wyraźne ).
Ponadto, jak udokumentowano w CREATE TABLE
Składnia:
Jeśli żaden NULL
ani NOT NULL
jest określony, kolumna jest traktowana tak, jakby NULL
został określony.
Dlatego w MySQL następujące definicje kolumn są identyczne:
columnname type
columnname type NULL
columnname type DEFAULT NULL
columnname type NULL DEFAULT NULL
Wybór, którego użyć, jest równowagą między byciem wyraźnym a zwięzłym. W zależności od okoliczności mogę użyć dowolnego z powyższych.