首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建和更新时的MySQL CURRENT_TIMESTAMP

创建和更新时的MySQL CURRENT_TIMESTAMP
EN

Stack Overflow用户
提问于 2011-02-04 18:35:24
回答 8查看 173.1K关注 0票数 73

我想定义一个表,它将有2个时间戳字段,类似这样:

代码语言:javascript
复制
CREATE TABLE `msgs` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `msg` VARCHAR(256),
    `ts_create` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ts_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

如何避免出现错误:

代码语言:javascript
复制
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

要点是将ts_createts_update的所需行为保留在表模式中。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2016-02-16 15:59:45

我猜这是一个老帖子,但实际上我猜mysql在它的最新版本中支持2时间戳mysql 5.6.25,这就是我现在使用的。

票数 20
EN

Stack Overflow用户

发布于 2015-03-05 18:52:25

我认为使用下面的技巧是可能的。

代码语言:javascript
复制
`ts_create` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`ts_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
票数 5
EN

Stack Overflow用户

发布于 2015-04-28 23:51:29

您使用的是较旧的MySql版本。将您的myqsl更新为5.6.5+,它将会正常工作。

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

https://stackoverflow.com/questions/4897002

复制
相关文章

相似问题

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