mysql on update currenttimestamp_创建和更新时的MySQL CURRENT_TIMESTAMP

我想定义将有2个TIMESTAMP字段的表,有些像这样:

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

)

如何做到这一点避免错误:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

要在表模式中保持ts_create和ts_update的所需行为.

解决方法:

这是mySQL的一个限制,你不能有两个TIMESTAMP列,其默认值引用CURRENT_TIMESTAMP.唯一的方法是对ts_create使用DATETIME类型,遗憾的是它不能具有默认值NOW().你可以使用自己的触发器来实现这一点.

标签:mysql,timestamp,mysql-error-1293

来源: https://codeday.me/bug/20190923/1814836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值