MySQL: как я могу получить метку времени последней вставки в базу данных - PullRequest
3 голосов
/ 11 марта 2012

Как я могу проверить, когда в последний раз (метка времени) я писал в базу данных, независимо от таблицы базы данных, в которую я вставил?

Ответы [ 4 ]

4 голосов
/ 29 августа 2016

Просто используйте этот SQL: SHOW TABLE STATUS; и отметьте Update_time столбец.

0 голосов
/ 11 марта 2012

Это в основном то, что протоколирование - это все .

На CLI

  1. execute SET GLOBAL log_output = 'TABLE';
  2. execute SET GLOBAL general_log = 'ON';

Теперь таблица general_log внутри базы данных mysql будет регистрировать все такие действия в базе данных.Используйте phpMyadmin или аналогичный для просмотра этих.Вы можете запросить их результаты очень эффективно.

0 голосов
/ 11 марта 2012

Оказалось, что это не ответ (невозможно удалить как принятый). См. Комментарии ниже этого ответа.

Я не смог использовать information_schema.tables update_time, поскольку столбец не обновлялся, но для create_time это сработало. Это будет работать для update_time (если изменить), если update_time будет обновлено, что может быть верно в вашей настройке.

select table_schema,table_name,max_time from information_schema.tables t1 JOIN 
 (select MAX(t2.create_time) AS max_time FROM 
  information_schema.tables t2 where  
  table_schema ='test') as t3  
on t1.create_time = t3.max_time;
0 голосов
/ 11 марта 2012

Добавьте поле для измененной даты в таблицу и используйте LAST_INSERT_ID (), чтобы определить последнюю строку (если вы делаете это прямо сейчас). В противном случае просто получите самую последнюю дату из измененного поля таблицы.

...