Как узнать время последнего обновления данных в строке MYSQL?
В таблице постоянно обновляются строки с данными. Обновление происходит раз в минуту. Но реально данные обновляются раз в 10 минут. Как узнать обновление именно данных, а не просто строки?
Ответ:
Создать такой триггер
DELIMITER //
CREATE TRIGGER `last_update_bets_data` BEFORE UPDATE ON `bets`
FOR EACH ROW BEGIN
IF NEW.`rate` != OLD.`rate` THEN
SET NEW.`time_change` = NOW();
END IF;
END
Ответ MySQL: #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'FOR EACH ROW BEGIN IF NEW.`rate` != OLD.`rate` THEN SET NEW.`time_change' на строке 1
Я через phpmyadmin хотел сделать, но не вышло. И так тоже не получается. Я где-то слышал, что нельзя добавлять триггер на событие одной и той же таблицы. Может по-этому?
CREATE TRIGGER `last_update_caps_data` BEFORE UPDATE ON `caps`
FOR EACH ROW BEGIN
IF NEW.`rate` != OLD.`rate` THEN
SET NEW.`time_change` = NOW();
END IF;
END
//
DELIMITER ;
Ответ MySQL: Документация
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '' на строке 4
DELIMITER //
CREATE TRIGGER `last_update_bets_data` BEFORE UPDATE ON `bets`
FOR EACH ROW BEGIN
IF NEW.`rate` != OLD.`rate` THEN
SET NEW.`time_change` = NOW();
END IF;
END