Ваш триггер должен быть:
DELIMITER $$
CREATE TRIGGER after_user_update BEFORE UPDATE ON group_chat_message
FOR EACH ROW
BEGIN
SET NEW.`server_modified_at` = CONCAT(SUBSTRING(REPLACE(NOW(), '-', ''),1,8),SUBSTRING(REPLACE(NOW(), ':', ''),12,8));
END;$$
DELIMITER ;
Таким образом, в основном вы должны запускать его ДО, а не ПОСЛЕ, и вам не нужно создавать эту инструкцию UPDATE в триггере.Вместо этого просто измените значение NEW на server_modified_at
перед обновлением строки
. Обратите внимание, что если целью является сохранение метки времени при изменении записи, вы можете создать такой столбец в своемтаблица:
server_modified_at TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP
и MySQL автоматически установит текущую метку времени в столбце server_modified_at при обновлении строки, для этого не требуется триггер.