在我的页脚,我想添加一些东西,如“上次更新xx/xx/200x”,这个日期是最后一次某个mySQL表已更新。
最好的方法是什么?是否有检索最近更新日期的函数?每次需要这个值时,我都应该访问数据库吗?
在我的页脚,我想添加一些东西,如“上次更新xx/xx/200x”,这个日期是最后一次某个mySQL表已更新。
最好的方法是什么?是否有检索最近更新日期的函数?每次需要这个值时,我都应该访问数据库吗?
当前回答
我在phpMyAdmin中按名称做了一个列:update-at,并在我的代码(nodejs)中从Date()方法获得当前时间。表中的每一个变化,这一列都保存变化的时间。
其他回答
对于最近的表更改列表,使用这个:
SELECT UPDATE_TIME, TABLE_SCHEMA, TABLE_NAME
FROM information_schema.tables
ORDER BY UPDATE_TIME DESC, TABLE_SCHEMA, TABLE_NAME
我会创建一个触发器,捕捉所有更新/插入/删除,并在自定义表中写入时间戳,类似于 表名|时间戳
只是因为我不喜欢直接读取db服务器的内部系统表的想法
我让它在本地工作,但不是在我的公共网站的共享主机上(我想是配股问题)。
SELECT last_update FROM mysql.innodb_table_stats WHERE table_name = 'yourTblName';
'2020-10-09 08:25:10'
MySQL 5.7.20-log在win8.1上
我在phpMyAdmin中按名称做了一个列:update-at,并在我的代码(nodejs)中从Date()方法获得当前时间。表中的每一个变化,这一列都保存变化的时间。
这就是我所做的,希望能有所帮助。
<?php
mysql_connect("localhost", "USER", "PASSWORD") or die(mysql_error());
mysql_select_db("information_schema") or die(mysql_error());
$query1 = "SELECT `UPDATE_TIME` FROM `TABLES` WHERE
`TABLE_SCHEMA` LIKE 'DataBaseName' AND `TABLE_NAME` LIKE 'TableName'";
$result1 = mysql_query($query1) or die(mysql_error());
while($row = mysql_fetch_array($result1)) {
echo "<strong>1r tr.: </strong>".$row['UPDATE_TIME'];
}
?>