当前位置:Gxlcms > mysql > 关于mysql数据表中NULL值的详解

关于mysql数据表中NULL值的详解

时间:2021-07-01 10:21:17 帮助过:82人阅读

使用NULL值

NULL 值就是没有值或缺值。允许 NULL 值的列也允许在插入行时不给出该列的值。不允许 NULL 值的列不接受该列没有值的行,换句话说,在插入或更新行时,该列必须有值。

每个表列或者是 NULL 列,或者是 NOT NULL 列,这种状态在创建时由表的定义规定。请看下面的例子:

输入:

create table orders
(
order_num          int               NOT NULL AUTO_INCREMENT,
order_date        datetime       NOT NULL,
cust_id                int               NOT NULL,
PRIMARY KEY (order_num)
)ENGINE = InnoDB;

分析:这条语句创建本书中所用的 orders 表。 orders 包含3个列,分别是订单号、订单日期和客户ID。所有3个列都需要,因此每个列的定义都含有关键字 NOT NULL 。这将会阻止插入没有值的列。如果试图插入没有值的列,将返回错误,且插入失败。

下一个例子将创建混合了 NULL 和 NOT NULL 列的表:

输入:

create table vendors
(
vend_id                 int                  NOT NULL AUTO_INCREMENT,
vend_name         char(50)            NOT NULL,
vend_address     char(50)           NULL,
vend_city             char(50)           NULL,
vend_state          char(5)             NULL,
vend_zip             char(10)           NULL,
vend_country      char(50)           NULL,
PRIMARY KEY (vend_id )
)ENGINE = InnoDB;

分析:这条语句创建本书中使用的 vendors 表。供应商ID和供应商名字列是必需的,因此指定为 NOT NULL 。其余5个列全都允许 NULL 值,所以不指定 NOT NULL 。 NULL 为默认设置,如果不指定 NOT NULL ,则认为指定的是 NULL 。

mysql null和空的区别

理解 NULL 不要把 NULL 值与空串相混淆。 NULL 值是没有值,它不是空串。如果指定 '' (两个单引号,其间没有字符),这在 NOT NULL 列中是允许的。空串是一个有效的值,它不是无值。 NULL 值用关键字 NULL 而不是空串指定。

以上就是关于mysql数据表中NULL值的详解的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行