Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo di CONCAT con MySQL Triggers (Errore in ,)

AGGIORNATO:

  1. Sembra che tu non abbia modificato DELIMITER .
  2. Molto probabilmente intendevi CURRENT_TIMESTAMP invece di CURTIMESTAMP() inesistente

Detto questo, potrebbe sembrare una versione sintatticamente corretta del tuo trigger

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 ;

oppure (poiché hai l'unica istruzione nel tuo trigger puoi omettere BEGIN ... END blocco e DELIMITER ) semplicemente

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());

Ecco SQLFiddle demo