我原来用的是mysql4.1,现在换成mysql 5.0.22了,一个表A,有一个字段hof_Check_in_hour,类型为time,null值为“是”,默认NULL,以前往数据库里写值的时候,该字段是可以为空值的,现在不行了,返回错误信息如下:MySQL 返回:文档
#1292 - Incorrect time value: '' for column 'hof_Check_in_hour' at row 1
看来是无效的值(换成格式如00:00:00之类的规定格式就可以),我就比较纳闷,难道是mysql5.0比较严格???望诸君指教,谢谢。
MySQL 字符集: UTF-8 Unicode (utf8)
MySQL 连接校对:utf8_general_ci
Language:中文 - Chinese simplified
另外,看一下该字段的默认值,可以为其设置一个默认值。
而我从mysql4.1移植过来的数据(*.sql)就不行!不知道为什么呢???
是因为两个数据库的安装配置不一样。如果MySQL用DONT_USE_DEFAULT_FIELDS选项配置,INSERT语句产生一个错误,
除非你明确对需要一个非NULL值的所有列指定值。见4.7.3 典型configure选项。
你可以设置MySQL对于非NULL的列不使用DEFAULT列值(即,不允许列是NULL)。这导致INSERT语句产生一个错误,
除非你明确地为所有要求非NULL值的列指定值。为了禁止使用缺省值,这样运行configure:shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
你可以重新安装mysql或者设定一个默认值