Gil*_*les 16 mysql enums
我试图用PhpMyAdmin在MySQL中创建一个简单的'yes'/'maybe'/'no'枚举我将NULL设置为No,并将'maybe'设置为默认值
我在执行"SET EnumCol =''"之类的操作时遇到错误,因为''(空字符串)不应该是有效值.但是查询被执行并且值被设置为'' - 这意味着每当我从数据库中读取时,我都被迫仔细检查这个不需要的和非法的值!
这是MySQL或PhpMyAdmin中的错误吗?有谁知道一种禁用此行为的方法?
谢谢.
Iva*_*uev 23
空字符串是无效值的错误指示符ENUM.从mysql ENUM类型手册:
ENUM
如果在ENUM中插入无效值(即,允许值列表中不存在的字符串),则会插入空字符串作为特殊错误值.通过此字符串具有数值0的事实,可以将此字符串与"正常"空字符串区分开来.稍后将详细介绍.
要禁用此行为:
如果启用了严格的SQL模式,则尝试插入无效的ENUM值会导致错误.
要启用严格模式,请参阅服务器SQL模式.
归档时间:
15 年,10 月 前
查看次数:
5421 次
最近记录: