所以我的表上有这个stamp timestamp DEFAULT NOW() ON UPDATE NOW()行,即使我正在执行的更新基本上是所有字段上的相同数据,我也需要对其进行更新。

除了on update以外,还有其他方法可以在表的声明中进行此操作,还是我每次更新时都必须强制stamp = now()(当然要删除on update,因为它将无用)。

我看过this thread,但是它只能回答正在发生的事情和原因,除了间接地强制它之外,没有其他解决方法

最佳答案

您必须每次使用触发器来强制执行。

DELIMITER GO

CREATE TRIGGER `mydb`.`mytable_U` BEFORE UPDATE ON `mydb`.`mytable`
FOR EACH ROW
BEGIN
    SET NEW.stamp = CURRENT_TIMESTAMP;
END
GO

DELIMITER ;

关于mysql - 使用相同的值更新mysql表,但仍获得时间戳更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8657189/

10-14 16:20
查看更多