获取上次更改MySQL数据库的日期/时间

Ric*_*gan 10 mysql datetime timestamp

我正在使用MySQL,我想获得数据库中任何表的最后一次更改的日期/时间.我的每个表都有一个自动更新'*_modified'时间戳,所以我可以使用它(*是一个前缀).

这样做的目的是确定自上次数据库备份的日期/时间以来数据是否已完全更改.

我想知道使用DESCRIBE或SHOW有更简单的方法吗?我进行了搜索和实验,但还没有找到.

谢谢您的帮助.

Zak*_*Zak 13

SELECT update_time
FROM   information_schema.tables
WHERE  table_schema = 'dbName'
       AND table_name = 'tableName'
Run Code Online (Sandbox Code Playgroud)

  • 实际上,它返回表中已更改数据的"TIME".它存储在Schema中,而不是表本身.它没有得到架构更改的时间(我甚至不认为MySQL存储了这些信息) - 它正在获取表的最后查询时间,其中包括`UPDATE`,`INSERT`等等.据我所知,欢迎您提供其他证据,每次查询这样的表时,它都会更新所述表的模式UPDATE_TIME. (3认同)
  • 请小心使用“information_schema.tables”中的更新时间。它是一个易失值,服务器重新启动后可能会返回 NULL。避免在数据完整性取决于数据正确性的情况下使用它。 (3认同)
  • 对于** InnoDB **表,update_time总是给出NULL(MySQL 5.7.2以下的数据库)。http://bugs.mysql.com/bug.php?id=14374 (2认同)