У меня эта таблица в 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);
Но продолжительность не обновляется.