Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando CONCAT com MySQL Triggers (Erro em ,)


ATUALIZADO:
  1. Parece que você não alterou DELIMITER .
  2. Você provavelmente quis dizer CURRENT_TIMESTAMP em vez de CURTIMESTAMP() inexistente

Dito isto, uma versão sintaticamente correta do seu gatilho pode parecer
DELIMITER $$
CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users 
FOR EACH ROW
BEGIN
  INSERT INTO users_backlog (user_id, description, datetime) VALUES 
  (NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), CURRENT_TIMESTAMP);
END$$
DELIMITER ;

ou (porque você tem a única instrução em seu gatilho, você pode omitir BEGIN ... END bloquear e DELIMITER ) simplesmente
CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users 
FOR EACH ROW
  INSERT INTO users_backlog (user_id, description, datetime) VALUES 
  (NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), NOW());

Aqui está SQLFiddle demonstração