enum数据类型默认值的困惑解决思路
程序员文章站
2022-04-01 08:59:32
...
enum数据类型默认值的困惑
数据结构如下:
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`test` ENUM( 'N ', 'Y ' ) NOT NULL
表名:test
SQL:
1. insert into test ( test ) values ( ' ' );
2. insert into test values ();
当我使用SQL1后,最终在test这个字段中什么都没有显示
当我使用SQL2后,最终在test这个字段中显示的是 'N '
这是为什么呢?SQL1执行后不是应该也显示 'N '的码?请各位指教!
enum数据类型默认值的困惑
------解决方案--------------------
当你使用SQL1后,是对test字段插入一个空值,
而SQL2,表明你是对字段插入默认值,对于enum类型如果你不做显示指定默认(default 'Y ')的话,其默认值就是第一个,即N
数据结构如下:
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`test` ENUM( 'N ', 'Y ' ) NOT NULL
表名:test
SQL:
1. insert into test ( test ) values ( ' ' );
2. insert into test values ();
当我使用SQL1后,最终在test这个字段中什么都没有显示
当我使用SQL2后,最终在test这个字段中显示的是 'N '
这是为什么呢?SQL1执行后不是应该也显示 'N '的码?请各位指教!
enum数据类型默认值的困惑
------解决方案--------------------
当你使用SQL1后,是对test字段插入一个空值,
而SQL2,表明你是对字段插入默认值,对于enum类型如果你不做显示指定默认(default 'Y ')的话,其默认值就是第一个,即N
相关文章
相关视频