MySQL declare variable im trigger-Fehler

Jemand wissen, was ist Los mit meinem trigger Erklärung?

CREATE TRIGGER `sch_trigger_curriculum_subject_before_insert` BEFORE INSERT ON  
`sch_curriculum_subject` FOR EACH ROW 
BEGIN
   DECLARE curriculum_code VARCHAR(50);        
   SET curriculum_code = SELECT code FROM sch_curriculum WHERE id=NEW.id;
   SET NEW.`code_name` = CONCAT(curriculum_code,' - ', NEW.code,' - (',NEW.name,')');
END;

Den Fehler: SQL-Fehler(1064): Sie haben Fehler in Ihnen, SQL-syntax ..... in der Nähe von " an der Linie 4.

Laut Fehlermeldung gibt es etwas falsch mit meinem curriculum_code Erklärung. Aber ich kann nicht herausfinden, was falsch ist.

Vielen Dank im Voraus

UPDATE:
schon gelöst, das problem ist auf Trennzeichen, hier ist die Arbeit eines

DELIMITER $$
CREATE TRIGGER `sch_trigger_curriculum_subject_before_insert` BEFORE INSERT ON  
`sch_curriculum_subject` FOR EACH ROW 
BEGIN
  DECLARE curriculum_code VARCHAR(50);        
  SET curriculum_code = (SELECT code FROM sch_curriculum WHERE id=NEW.id);
  SET NEW.`code_name` = CONCAT(curriculum_code,' - ', NEW.code,' - (',NEW.name,')');
END$$
  • Ist curriculum_code mehrere Zeilen zurückgibt ?
  • Nein, es ist nicht. Das problem ist auf Trennzeichen. Dank
Schreibe einen Kommentar