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,一般会在安装目录的根目录. 

扫描二维码关注公众号,回复: 6938963 查看本文章

猜你喜欢

转载自www.cnblogs.com/mediocreWorld/p/11294412.html