gpt4 book ai didi

MySQL 不允许对 DATETIME 字段进行 ON UPDATE CURRENT_TIMESTAMP

转载 作者:IT老高 更新时间:2023-10-29 00:05:44 27 4
gpt4 key购买 nike

我看到了很多相关问题,但我不能把我的手指放在这个具体问题上:

我有一个 MySQL 表,其中包含 TIMESTAMP(字段创建时间)和 DATETIME(字段每次更新时间)。它看起来像这样:

CREATE TABLE 'vis' (
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
ENTRY VARCHAR(255),
AUTHOR VARCHAR(255),
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT DATETIME ON UPDATE CURRENT_TIMESTAMP,
UPDATED_BY VARCHAR(255)
)

当我尝试这样做时,我得到的错误是:(SQL Error: 1294 SQL State: HY000) - Invalid ON UPDATE clause for 'updated_at' field

我读过的所有地方(甚至在 Stack Overflow 上)都建议我应该能够做到这一点,但我收到了这个错误。也许还有另一种方法可以让一个字段在我每次更新时自动更新时间?

我正在使用 MySQL Server 5.5。

最佳答案

DATETIME 不能在更新时使用 CURRENT_TIMESTAMP。相反,将其更改为 TIMESTAMP

或者,考虑在这种情况下使用触发器:http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

编辑:如评论中所述(感谢@АлександрИишер!),自 MySQL 5.6.5 以来不再是这种情况,因此另一种解决方案是尽可能升级您的服务器。

关于MySQL 不允许对 DATETIME 字段进行 ON UPDATE CURRENT_TIMESTAMP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com