MySQL今天下午在用PHP往MySQL里INSERT数据的时候报错“#1264 - Out of range value adjusted for column 'date' at row 1”。
PHP里面的SQL语句类似于:
$query = "INSERT INTO conn_num (date, conn_num) values ('$comma_separated[0]', '$comma_separated[1]')";
在Google里查得原因:新版本MySQL对字段的严格检查。(我的MySQL版本为5.0.21)
解决办法:
修改mysql文件夹下的my.ini文件,将
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重新启动MySQL。
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重新启动MySQL。
-------------------------------------------
奇怪的是,在不修改my.ini文件的情况下,我在MySQL Front里面用将date属性改为ascii后,用SQL语句直接运行,就不会报错;而运行PHP脚本仍然抱错:(