SQL NOT NULL:非空约束
默认情况下,表的字段可以包含 NULL 值,如果您不希望某个字段出现 NULL 值,那么可以在该字段上添加 NOT NULL 约束(非空约束),此时就必须给该字段指定一个具体的值,不能留空。
注意,NULL 不等于没有数据,而是表示数据是未知的。
如果已经创建了 website 表,也可以使用 ALTER TABLE 语句将 NOT NULL 约束添加到某个字段,例如:
注意,NULL 不等于没有数据,而是表示数据是未知的。
示例
下面的 SQL 语句将创建一个名为 website 的新表,该表包含七个字段,其中五个字段不接受 NULL 值,它们分别是 id、name、age、alexa 和 country:CREATE TABLE website ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, url VARCHAR(30), age TINYINT UNSIGNED NOT NULL, alexa INT UNSIGNED NOT NULL, uv FLOAT DEFAULT '0', country CHAR(3) NOT NULL DEFAULT '', PRIMARY KEY (`id`) );
如果已经创建了 website 表,也可以使用 ALTER TABLE 语句将 NOT NULL 约束添加到某个字段,例如:
ALTER TABLE website MODIFY url VARCHAR(30) NOT NULL;以上语句在 Oracle 和 MySQL 数据库上运行通过。