SQL 表中的可空列

示例

创建表时,可以将列声明为可为空或不可为空。

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.