Создайте MYSQL TRIGER для расчета продолжительности на основе времени created_at при обновлении записи - PullRequest
0 голосов
/ 07 мая 2020

У меня эта таблица в MySQL. Мое требование - автоматически рассчитывать продолжительность при обновлении. Здесь я собираюсь обновить столбец статуса только с НАЧАЛО до ОСТАНОВЛЕН . Но я хочу рассчитать продолжительность на основе created_at времени до настоящего момента.

Схема моей таблицы

CREATE TABLE `my_table` (
  `id` int(11) NOT NULL,
  `meeting_id` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stream_duration` varchar(25) NOT NULL DEFAULT '0',
  `status` varchar(25) NOT NULL DEFAULT 'STARTED'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Мой триггер

CREATE TRIGGER Calculate_Duration BEFORE UPDATE ON my_table FOR EACH ROW SET NEW.stream_duration = TIMEDIFF(NOW(), created_at);

Но продолжительность не обновляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...