Как я могу узнать, когда таблица MySQL была обновлена?


У меня есть база данных MYSQL для обслуживания API / RESTful с помощью PHP, в принципе я не использую какое-либо поле стиля LastDateUpdate т. е. когда ресурс был вставлен или изменен.

Есть ли оператор SQL, чтобы получить последний раз, когда таблица или база данных были изменены в целом?

Author: Webserveis, 2016-01-20

2 answers

MySQL (как и другие движки) имеет "таблицы", которые дают вам информацию из "таблиц" вашей БД... схемы (таблица, которую вам нужно запросить, - INFORMATION_SCHEMA) это также запрашивается с SQL

Если вы можете увидеть в справке MySQL в части 20.23 The INFORMATION_SCHEMA TABLES Table

Где вы можете прочитать

До MySQL 5.7.8, таблицы InnoDB разделов, столбец CREATE_TIME всегда показал NULL. В этом столбце показано создание правильной таблицы времени таких таблиц в MySQL 5.7.8 и позже. (Ошибка #17299181, Ошибка #69990)

Начиная с MySQL 5.7.2, UPDATE_TIME отображает значение даты и времени последнего обновления, INSERT или DELETE в таблицах InnoDB не раздаются. Ранее UPDATE_TIME отображает значение NULL для таблиц InnoDB. Значение timestamp MVCC отражает время фиксации, которое считается последним временем обновления. Временные метки не сохраняются при перезапускает сервер или когда таблица вытесняется из кэша словаря данных InnoDB.

Столбец UPDATE_TIME также отображает эту информацию для разделенных таблиц InnoDB в MySQL 5.7.8 и более поздних версиях. Ранее этот столбец всегда был нулевым для этих таблиц. (Ошибка #17299181, Ошибка #69990)

Пример

SELECT UPDATE_TIME
FROM   information_schema.tables
WHERE  TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'Jedis'

Вопрос / Ответ В SOen

Ссылки, которые могут помочь или помочь

 6
Author: Jose A. Fernandez, 2017-05-23 12:39:20

Возвращает таблицы, отсортированные по последнему изменению:

SELECT TABLE_NAME, UPDATE_TIME 
FROM information_schema.tables 
WHERE TABLE_TYPE = 'BASE TABLE' 
ORDER BY UPDATE_TIME desc
 0
Author: Alvaro Urbano Lima, 2019-10-25 00:24:49