所以我的表上有这个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/