读书人

enum数据类型默认值的困惑,该如何解决

发布时间: 2012-03-02 14:40:28 作者: rapoo

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 '的码?请各位指教!

[解决办法]
在mysql中, ' '和null是不同的,这一点和oracle不同。
[解决办法]
如果你将一个非法值插入ENUM(也就是说,允许的值列之外的字符串),将插入空字符串以作为特殊错误值。
[解决办法]
一默值

读书人网 >Mysql

热点推荐