表中的可空列

建立表時,可以將列宣告為可空或不可空。

CREATE TABLE MyTable
(
    MyCol1 INT NOT NULL, -- non-nullable
    MyCol2 INT NULL      -- nullable
) ;

預設情況下,除非我們明確設定 NOT NULL 約束,否則每列(主鍵約束除外)都可以為空。

嘗試將 NULL 分配給不可為空的列將導致錯誤。

INSERT INTO MyTable (MyCol1, MyCol2) VALUES (1, NULL) ;  -- works fine

INSERT INTO MyTable (MyCol1, MyCol2) VALUES (NULL, 2) ;  
        -- cannot insert
        -- the value NULL into column 'MyCol1', table 'MyTable'; 
        -- column does not allow nulls. INSERT fails.