首页 > SQL 阅读:9898

SQL NOT NULL:非空约束

通义灵码
默认情况下,表的字段可以包含 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 数据库上运行通过。