在 MySQL 字段中使用带有 NOT NULL 的枚举?


如果在 ENUM 数据类型中未声明 NOT NULL,则其会给定默认值 NULL。但是,如果声明了 NOT NULL,则会从 ENUM 中给定第一个值。

CASE 1 − 当 ENUM 给出 NULL 值时。我们首先创建一个表

mysql> create table DemoTable1(isMarried ENUM('YES','NO'));
Query OK, 0 rows affected (0.76 sec)

使用 insert 命令向表中插入一些记录 −

mysql> insert into DemoTable1 values();
Query OK, 1 row affected (0.18 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable1;

这将产生以下输出 −

+-----------+
| isMarried |
+-----------+
| NULL      |
+-----------+
1 row in set (0.00 sec)

CASE 2 − 当 ENUM 给出 ENUM 中的第一个值时。我们首先创建一个表

mysql> create table DemoTable2 (isMarried ENUM('YES','NO') NOT NULL);
Query OK, 0 rows affected (0.57 sec)

使用 insert 命令向表中插入一些记录 −

mysql> insert into DemoTable2 values();
Query OK, 1 row affected (0.17 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable2;

这将产生以下输出 −

+-----------+
| isMarried |
+-----------+
| YES       |
+-----------+
1 row in set (0.00 sec)

更新于: 22-Aug-2019

750 查看

开启您的职业生涯

通过完成本课程取得认证

立即开始
广告