mysql - 错误 1067 (42000) : Invalid default value for 'created_at'

标签 mysql

当我尝试更改表格时,它显示错误:

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_atupdated_at

这是我的表结构:

enter image description here

最佳答案

问题是由于 sql_modes 引起的。 请通过命令检查当前的sql_modes:

show variables like 'sql_mode' ; 

并删除 sql_mode“NO_ZERO_IN_DATE,NO_ZERO_DATE”以使其正常工作。 这是mysql新版本中默认的sql_mode。

您可以通过命令将 sql_mode 全局设置为 root:

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

关于mysql - 错误 1067 (42000) : Invalid default value for 'created_at' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59968234/

相关文章:

mysql - MySql 中的警告 1072 - 表中不存在键列 'name'`

mysql - 在 JOIN 查询中使用 Mysql GROUP_CONCAT

mysql - 如何从 MySQL 中随机选择行进行分页?

php - 在 php 中显示图像

mysql - 尚未为 vb.net 中的数据源 dataset1 提供数据源实例

php - 使用 PHP 和 MySQL 自动发送电子邮件?

每次刷新页面时,PHP Mysql 新行插入到数据库表中

mysql - 使用 CAST() 将 SQL 查询转换为 HQL

mysql - 使用mysql查询提取具有相同爱好的客户

mysql - "group by"可以不丢失原始行吗?