如何查找某些表或数据库中所有表的最后修改行。 我们数据库中的所有表都有(created_at,updated_at datetime列)。
我希望结果集能说出像......
table foo, id=10000, .... (equivalent of select * on that row)
table boo, id=20000, ....
table bar, id=30000, ....
这将帮助我找到某个行修改表的时间。
答案 0 :(得分:1)
您可以使用
Select * from Tbl where updated_at=max(updated_at)
或者
Select * from Tbl order by updated_at DESC limit 1
如果您只想要最后一行
要在所有表格上运行,请使用:
select concat('Select * from ',table_name,' where updated_at=max(updated_at);')
from information_schema.tables
where table_schema = 'your_db_name'
然后将结果作为查询运行
这可以使用execute command
自动完成