【发布时间】:2016-05-26 20:40:27
【问题描述】:
我搜索了一下,没有找到答案。问题是对于现有的 SQL 表(假设 H2、MySQL 或 Postgres 中的任何一个)...
有没有办法获取给定表行的最后更新时间戳值。也就是说,无需显式声明新列(更改表)和/或添加更新时间戳列的触发器。
我正在使用 JDBC 驱动程序、准备语句、获取 ResultSet 等。我需要能够确定数据最近是否发生了变化,为此时间戳会有所帮助。如果可能,我想避免在系统中的所有表中添加时间戳列。
【问题讨论】:
-
你能在表上创建触发器吗?如果是这样,您将能够通过让触发器将该信息保存在另一个表中来跟踪任何更新/插入。如果没有,您可以通过访问日志来找出答案(如果启用了该级别的详细信息) - 这需要更多的工作,但您可能能够从中获得所需的信息。
-
是的,我想知道是否有更标准的东西。走日志路线是非性能和特定于数据库的,因此会影响可移植性和可维护性。
标签: sql postgresql jdbc timestamp h2