mysql - 将默认值设置为 CURRENT_TIMESTAMP 时出错

标签 mysql default-value alter-table

我在更改表格时遇到问题。我需要一个数据类型为 DATETIME 的列来将默认值作为当前日期/时间,并且在更新时它也应该自动将其值更新为当前日期/时间。我正在编写以下 SQL

ALTER TABLE `groups` 
CHANGE COLUMN `modified` `modified` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

我收到以下错误消息。

Error Code: 1067. Invalid default value for 'modified'

我在 Ubuntu 14.04.1 系统上使用的 MySQL 版本是 5.5.49。

请告诉我如何解决此问题。

最佳答案

在 MySQL 5.6.5 之前,您只能对 TIMESTAMP 类型的列使用 CURRENT_TIMESTAMP 默认值。 请参阅https://stackoverflow.com/a/9005872/1293303

关于mysql - 将默认值设置为 CURRENT_TIMESTAMP 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40761425/

相关文章:

.net - web.config 忽略 Settings.Default.<Property> 并始终使用默认值

MySQL alter table 给出未知列错误

sql-server - 更改大表PK列数据类型

PHP 抛出解析错误 : syntax error, 意外 ' "'

mysql - 使用 Secrets 作为密码时无法连接到 Kubernetes 中的 mysql pod(访问被拒绝)

mysql - 如何组合这两个 MySQL 语句

sql - 在grails中,我已经投入生产后,需要将域类中的字段更改为可为空

mysql - 优化 MySQL 对每个重复查询的计数

c++ - 如何避免 std::vector<> 初始化其所有元素?

oracle - 可选的输出游标作为参数