如何判断MySQL表是何时更新的?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (694)

在我页面的页脚中,我想添加“上次更新xx/xx/200x”这样的内容,这个日期是最后一次更新某个MySQL表。

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

提问于
用户回答回答于

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

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

这当然意味着打开到数据库的连接。


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

关于数据库更新:

  • 打开时间戳文件O_RDRW模式
  • close再来一次

或者另一种选择

  • 使用touch()的PHP等效utimes()函数,以更改文件时间戳。

页面显示:

  • 使用stat()若要读取文件修改时间,请执行以下操作。
用户回答回答于

我没有消息_模式数据库,使用MySQL版本4.1.16,因此在本例中您可以查询以下内容:

SHOW TABLE STATUS FROM your_database LIKE 'your_table';

它将返回以下列:

| Name      | Engine | Version | Row_format | Rows | Avg_row_length 
| Data_length | Max_data_length | Index_length | Data_free | Auto_increment 
| Create_time         | Update_time         | Check_time | Collation         
| Checksum | Create_options | Comment |

"Update_time"这显示了最后一次更新时间。

扫码关注云+社区

领取腾讯云代金券