Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwendung von CONCAT mit MySQL-Triggern (Fehler bei ,)

AKTUALISIERT:

  1. Anscheinend haben Sie DELIMITER nicht geändert .
  2. Sie meinten höchstwahrscheinlich CURRENT_TIMESTAMP anstelle von nicht vorhandenem CURTIMESTAMP()

Davon abgesehen könnte eine syntaktisch korrekte Version Ihres Triggers so aussehen

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 ;

oder (da Sie die einzige Anweisung in Ihrem Trigger haben, können Sie BEGIN ... END weglassen Block und DELIMITER ) einfach

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

Hier ist SQLFiddle Demo