【问题标题】:MySQL default current_timestamp + 1 yearMySQL 默认 current_timestamp + 1 年
【发布时间】:2018-05-23 13:38:09
【问题描述】:

我用默认值 CURRENT_TIMESTAMP 制作了一个带有 id 和日期的简单表,我很好奇如何设置日期 CURRENT_TIMESTAMP + 1 年。例如,如果 NOW() 是 2018-01-23 13:57:22,我希望默认值为 2019-01-23 13:57:22。我可以在插入新行之前使用触发器或代码进行此操作,但还有其他快捷方式吗?

例如:如何设置为默认值 DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 1 YEAR)

同样的问题:https://bugs.mysql.com/bug.php?id=56835

【问题讨论】:

  • 你可以写一个触发器来设置日期。

标签: mysql phpmyadmin


【解决方案1】:

不能是manual

数据类型规范中的 DEFAULT value 子句表示 列的默认值。除了一个例外,默认值必须 是一个常数;它不能是函数或表达式。这表示, 例如,您不能将日期列的默认值设置为 NOW() 或 CURRENT_DATE 等函数的值。例外 是您可以指定 CURRENT_TIMESTAMP 作为 TIMESTAMP 的默认值 和 DATETIME 列。

所以现在唯一的方法是在表中插入新行之前使用触发器或手动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2016-06-27
    • 2014-12-12
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多