我想定义将有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