首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误1067 (42000):'created_at‘的默认值无效

错误1067 (42000):'created_at‘的默认值无效
EN

Stack Overflow用户
提问于 2016-04-27 14:37:51
回答 8查看 235.9K关注 0票数 123

当我试图修改该表时,它显示了错误:

代码语言:javascript
运行
复制
ERROR 1067 (42000): Invalid default value for 'created_at'

我在谷歌上搜索了这个错误,但我发现的所有错误似乎是他们试图更改时间戳,所以它发生了。然而,在这里我试图添加一个新的列,我得到了这个错误:

代码语言:javascript
运行
复制
mysql> ALTER TABLE investments ADD bank TEXT;
ERROR 1067 (42000): Invalid default value for 'created_at'

我的表的最后两列是created_atupdated_at

下面是我的表结构:

EN

回答 8

Stack Overflow用户

发布于 2016-04-27 15:08:00

尝试运行以下命令:

代码语言:javascript
运行
复制
ALTER TABLE `investments` 
MODIFY created_at TIMESTAMP 
DEFAULT CURRENT_TIMESTAMP 
NOT NULL;

代码语言:javascript
运行
复制
ALTER TABLE `investments` 
MODIFY updated_at TIMESTAMP 
DEFAULT CURRENT_TIMESTAMP 
NOT NULL;

出现此错误的原因是您没有为created_atupdated_at字段设置默认值。MySQL不接受您的命令,因为这些列的值不能为null。

票数 34
EN

Stack Overflow用户

发布于 2017-05-23 17:38:09

我在尝试安装第三方数据库时遇到了同样的错误。我尝试了所提出的解决方案,但没有成功。

SET sql_mode = '';

然后,我尝试了下面的命令,该命令可以安装数据库

SET GLOBAL sql_mode = '';

票数 31
EN

Stack Overflow用户

发布于 2017-01-12 04:17:44

在我的例子中,我有一个要导入的文件。

所以我只需在文件的开头添加SET sql_mode = '';,它就可以工作了!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36882149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档