mysql设置timpstamp的默认值为 '0000-00-00 00:00:00' 时报错
Posted mediocreworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql设置timpstamp的默认值为 '0000-00-00 00:00:00' 时报错相关的知识,希望对你有一定的参考价值。
问题:mysql设置timpstamp的默认值为 ‘0000-00-00 00:00:00‘ 时报错:
ERROR 1067 (42000): Invalid default value for ‘updateaDate‘
原因和解决方法:
# sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE
,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 默认是
这个配置,这个配置不允许日期字段的默认值为‘0000-00-00 00:00:00‘,所以改成了下面的配置:
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_
AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
记得修改完后,重启mysql服务: /etc/init.d/mysqld restart 或者 service mysqld restart。 两个命令的效果一样。
注:一般在my.ini或my.cnf下配置该sql-mode,
linux下的为my.cnf,其路径一般为 /etc/my.cnf 或 /etc/mysql/my.cnf 或 /usr/my.cnf
win下的是my.ini,一般会在安装目录的根目录.
以上是关于mysql设置timpstamp的默认值为 '0000-00-00 00:00:00' 时报错的主要内容,如果未能解决你的问题,请参考以下文章