我希望mofidy TIMESTAMP列将CURRENT_TIMESTAMP作为默认值,并在修改它时使用CURRENT_TIMESTAMP。
这是我试过的脚本:
ALTER TABLE annonce MODIFY COLUMN date_modif TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
但我收到此错误消息:
1293 - 表定义不正确;只有一个TIMESTAMP DEFAULT或ON UPDATE子句中带有CURRENT_TIMESTAMP的列
我还有另一列(date_crea),其CURRENT_TIMESTAMP为默认值。
这是否意味着我只能在一列中使用值CURRENT_TIMESTAMP?
如果我能解决这个问题?
答案 0 :(得分:0)
这是否意味着我只能在一个中使用值CURRENT_TIMESTAMP 专栏??
是的,这就是事实。没有办法解决这个问题。 但您可能希望使用插入后触发器和更新后触发器来自行设置时间。
阅读http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html。
CREATE TRIGGER trigger_name AFTER INSERT ON tbl_name FOR EACH ROW set my_second_currenttime = now();
CREATE TRIGGER trigger_name AFTER UPDATE ON tbl_name FOR EACH ROW set my_second_currenttime = now();
在现实世界中未经测试 - 只是一个代码示例