当我试图添加字段时显示错误
ERROR 1067 (42000): Invalid default value for 'created_at
我的表有最后两列是created_at和updated_at
这是我的表结构
问题是因为sql_modes。请通过命令检查当前的sql_modes:
show variables like 'sql_mode' ;
并删除sql_mode“ NO_ZERO_IN_DATE,NO_ZERO_DATE ”以使其工作。这是mysql新版本中的默认sql_mode。
或者
在运行任何语句之前,请将其放在第一行:
SET sql_mode = '';
以上代码无效就使用下面的代码
SET GLOBAL sql_mode = '';
如果担心这样会出现其他问题,那就先通过
show variables like 'sql_mode' ; //查询数据库sql_mode的值
//把查询到的值保存下来
//然后再使用
SET sql_mode = '';//把sql_mode的值置空
//相关sql操作
//完成操作后再使用
SET sql_mode = '之前保存sql_mode的值';//把保存的值重新设置回去