MySQL如何处理枚举的空值和空值?
仅当未将SQL模式设置为TRADITIONAL,STRICT_TRANS_TABLES或STRICT_ALL_TABLES时,MySQL才接受用于枚举的空值。否则,MySQL将不接受空值并引发错误。我们知道每个枚举值都有一个索引值,空值将有0个索引值。
示例
mysql> SET SQL_MODE ='Traditional'; mysql> Insert into result(id, name,grade) values(100, 'Raman', ''); ERROR 1265 (01000): Data truncated for column 'Grade' at row 1
现在,更改SQL模式后,我们将能够如下插入空字符串:
mysql> Set SQL_MODE =''; mysql> Insert into result(id, name, grade) values(100, 'Raman', ''); mysql> select * from result; +-----+-------+-------+ | Id | Name | Grade | +-----+-------+-------+ | 100 | Raman | | +-----+-------+-------+ 1 row in set (0.00 sec)
仅当我们未在ENUM列中指定NOTNULL时,MySQL才接受NULL值进行枚举。我们知道每个枚举值都有一个索引值,因此NULL的索引值为NULL。
示例
mysql> Insert into result(id, name, grade) values(101, 'Rahul', NULL);
上面的查询将插入NULL值,因为我们没有在ENUM列声明中指定NOTNULL。
mysql> select * from result; +-----+-------+-------+ | Id | Name | Grade | +-----+-------+-------+ | 100 | Raman | | | 101 | Rahul | NULL | +-----+-------+-------+ 2 rows in set (0.00 sec)
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短