今天我用 phpMyadmin 创建了一个"user"表,里面也插入了几十条数据,然后我想再添加一个字段“register-time",结果给我报如下错误:
#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'register-time'
中文翻译
#1292-错误的日期时间值:“register-time”列为“ 0000-00-00 00:00:00”
原因:
这是因为当前的MySQL模式不支持datetime为0的情况。
解决方法
解决方法也非常的简单,只需要直接修改“sql_mode”即可!以我的Mysql5.7版本为例子,具体解决方法如下:
1、在MySQL配置文件 my.ini 的 [mysqld] 下添加:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2、重启MySQL。
具体可以参考:MySQL模式“sql_mode查看、修改/设置”教程
总结:
由于我的这个项目还是在本地,并不是线上,虽然我通过设置SQL模式可以解决这个问题。经过研究讨论,我最后依然放弃了设置SQL模式,我删除表里所有的数据,再添加字段就可以了,毕竟我这还是本地。