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

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

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(也就是说,允许的值列之外的字符串),将插入空字符串以作为特殊错误值。




設一個默認值

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

相关文章:

你感兴趣的文章:

标签云: