データベースやテーブルの最終更新日時を取得するときに、以下のようなSQLを発行することがあると思います。
SELECT
MAX(UPDATE_TIME)
FROM
information_schema.tables
WHERE
table_schema = 'mydatabase'しかし、(データベースやテーブルが存在し、かつinformation_schema.tablesテーブルが存在するにもかかわらず)結果がNULLになる場合があります。
原因:オンメモリテーブルなので再起動時に消える
先に結論を書くと「information_schema.tables」は、オンメモリテーブルなので、MySQLを再起動すると、内容がすべて消えます。
なので、サーバを再起動した後や、MySQLを再起動した直後は、すべての「update_time」が「NULL」になります。
対策
対策といっても、もしNULLなら現在日時を使うとか、やりたいことに応じて異なってくると思います。
ただ、「再起動をしたらUPDATE_TIMEはNULLになる」というのを知っていると何かの手助けになるかもしれないです。
参考になれば幸いです。
