如何判断 MySQL 表的上次更新时间?

2021-11-20 00:00:00 sql mysql

在我页面的页脚中,我想添加诸如上次更新 xx/xx/200x"之类的内容,此日期是某个 mySQL 表的最后一次更新时间.

In the footer of my page, I would like to add something like "last updated the xx/xx/200x" with this date being the last time a certain mySQL table has been updated.

最好的方法是什么?是否有检索上次更新日期的功能?每次需要这个值时都应该访问数据库吗?

What is the best way to do that? Is there a function to retrieve the last updated date? Should I access to the database every time I need this value?

推荐答案

在更高版本的 MySQL 中,您可以使用 information_schema 数据库来告诉您另一个表何时更新:

In later versions of MySQL you can use the information_schema database to tell you when another table was updated:

SELECT UPDATE_TIME
FROM   information_schema.tables
WHERE  TABLE_SCHEMA = 'dbname'
   AND TABLE_NAME = 'tabname'

这当然意味着打开与数据库的连接.

This does of course mean opening a connection to the database.

另一种选择是在更新 MySQL 表时触摸"特定文件:

An alternative option would be to "touch" a particular file whenever the MySQL table is updated:

关于数据库更新:

  • O_RDRW 模式打开时间戳文件
  • 关闭再次
  • Open your timestamp file in O_RDRW mode
  • close it again

或者替代

  • 使用touch(),与 utimes() 函数等效的 PHP 函数,用于更改文件时间戳.
  • use touch(), the PHP equivalent of the utimes() function, to change the file timestamp.

页面显示:

  • 使用stat()回读文件修改时间.
  • use stat() to read back the file modification time.

相关文章