是否可以通过简单的方式从UPDATE查询中获取NOW()时间戳?我正在尝试在本地缓存中保存“lastupdated”值,还是以任何方式获得更新查询执行的确切MySQL服务器时间?
最诚挚的问候; Görgen
答案 0 :(得分:1)
据我所知,MySQL没有像Oracle的RETURNING
或SQL Server的OUTPUT
子句那样的功能,可以通过从INSERT / UPDATE语句返回值来保存查询。所以这意味着最少两个陈述......
是否有可能获得更新查询执行的确切MySQL服务器时间?
我能想到的最好的方法是定义一个审核列(它们是我以前工作的标准方法),用于记录更新记录时的时间戳。在MySQL中,您可以default the value so on update it is set to the timestamp value at that time:
ALTER TABLE your_table
ADD COLUMN update_timestamp TIMESTAMP NOT NULL DEFAULT ON UPDATE CURRENT_TIMESTAMP
...然后这会为您提供要查询的特定列值。
答案 1 :(得分:0)
通常的方法是在数据库中设置LastUpdated字段,无论是在存储过程中还是在触发器中。然后你可以把它读回来。