SQL NOT NULL:非空约束

1年前 (2024-04-27)
默认情况下,表的字段可以包含 NULL 值,如果您不希望某个字段出现 NULL 值,那么可以在该字段上添加 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 数据库上运行通过。