1. ホーム
  2. mysql

[解決済み】MySQLのテーブルが最後に更新されたのはいつなのか?

2022-04-14 07:32:53

質問

ページのフッターに、"last updated the xx/xx/200x" のように、この日付が特定のmySQLテーブルが最後に更新された日付であることを追加したいのですが、可能ですか?

そのための最良の方法は何でしょうか? 最終更新日を取得する関数はあるのでしょうか?この値が必要になるたびにデータベースにアクセスする必要があるのでしょうか?

どのように解決するのですか?

MySQL の後のバージョンでは information_schema データベースを使用して、別のテーブルが更新されたときにそれを知らせることができます。

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

これはもちろん、データベースへの接続を開くことを意味します。


別のオプションとして、MySQL テーブルが更新されるたびに特定のファイルに "touch"することができます。

データベースの更新時。

  • でタイムスタンプ・ファイルを開きます。 O_RDRW モード
  • close もう一回

または、その代わりに

  • 使用 touch() のPHP版です。 utimes() 関数を使用して、ファイルのタイムスタンプを変更することができます。

ページに表示されます。

  • 使用 stat() を使って、ファイルの修正時刻を読み返します。