使用相同的值更新mysql表并仍然获得时间戳更新

Bim*_*imp 5 mysql timestamp

所以我stamp timestamp DEFAULT NOW() ON UPDATE NOW()在我的桌子上有这一行,即使我正在执行的更新基本上是所有字段上的相同数据,我也需要它进行更新.

有没有办法在表的声明中执行此操作,比如除了之外的其他选项on update,或者我stamp = now()每次更新时都必须强制执行此操作(并删除on update当然因为它将无用).

我已经看过这个帖子了,但它只回答了正在发生的事情以及为什么,而不是如何绕过它而不是间接强迫它

gbn*_*gbn 2

每次你都必须使用触发器来强制它。

DELIMITER GO

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

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)