当我试图修改该表时,它显示了错误:
ERROR 1067 (42000): Invalid default value for 'created_at'
我在谷歌上搜索了这个错误,但我发现的所有错误似乎是他们试图更改时间戳,所以它发生了。然而,在这里我试图添加一个新的列,我得到了这个错误:
mysql> ALTER TABLE investments ADD bank TEXT;
ERROR 1067 (42000): Invalid default value for 'created_at'
我的表的最后两列是created_at
和updated_at
。
下面是我的表结构:
发布于 2016-04-27 15:08:00
尝试运行以下命令:
ALTER TABLE `investments`
MODIFY created_at TIMESTAMP
DEFAULT CURRENT_TIMESTAMP
NOT NULL;
和
ALTER TABLE `investments`
MODIFY updated_at TIMESTAMP
DEFAULT CURRENT_TIMESTAMP
NOT NULL;
出现此错误的原因是您没有为created_at
和updated_at
字段设置默认值。MySQL不接受您的命令,因为这些列的值不能为null。
发布于 2017-05-23 17:38:09
我在尝试安装第三方数据库时遇到了同样的错误。我尝试了所提出的解决方案,但没有成功。
SET sql_mode = '';
然后,我尝试了下面的命令,该命令可以安装数据库
SET GLOBAL sql_mode = '';
发布于 2017-01-12 04:17:44
在我的例子中,我有一个要导入的文件。
所以我只需在文件的开头添加SET sql_mode = '';
,它就可以工作了!
https://stackoverflow.com/questions/36882149
复制相似问题