3

我想对 information_schema 及其行为进行一些解释。假设我想知道 myisam 表何时被修改。我写了这个查询

select update_time from information_schema.tables
where table_schema = 'my_db' and table_name = 'my_table'

即使我对我的表进行了一些更改,直到我运行一个flush tables. 不幸的是,在我看来,它update_time存储了我运行刷新表的那一刻的日期和时间,而不是真正发生表更改的那一刻。这是真的吗?提前致谢。

4

1 回答 1

2

我个人更喜欢给我的每张表添加一个last_change时间戳,然后定义为“DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP”,这意味着mysql会在每次修改行时自动更新它。

有了这个,你可以直接查询表,不仅知道表被触摸了,还知道哪些行被触摸了。

但是,它无法检测已删除的行。

于 2011-04-12T03:06:32.447 回答