2014-09-26 112 views
0

我試圖根據通過的新事務跟蹤用戶銷售情況。這些交易通過我們的網站而不是他們的桌面應用程序分配。它給了我一個語法錯誤,但我似乎無法弄清楚爲什麼。帶變量的插入後的MySQL觸發語法錯誤

這是我的代碼:

DROP TRIGGER IF EXISTS AssignTrans; 
DELIMITER $$ 
CREATE TRIGGER `testing_cake3`.`AssignTrans` AFTER INSERT ON `main_1` FOR EACH ROW 
    BEGIN 
     SET @t1 = (SELECT team_id FROM team_assignments WHERE team_assignments.misc_id = NEW.CUSTOMER_ID AND team_assignments.type = 1); 
     SET @t2 = (SELECT team_id FROM team_assignments WHERE team_assignments.misc_id = NEW.GROUP_ID AND team_assignments.type = 0); 
     IF (@t1) THEN 
      INSERT INTO team_trans (team_id, trans_id, type, misc_id) VALUES (@t1, NEW.id, 0, 1); 
     ELSE IF (@t2) THEN 
      INSERT INTO team_trans (team_id, trans_id, type, misc_id) VALUES (@t2, NEW.id, 0, 1); 
     END IF; 
    END $$ 
DELIMITER ; 
+0

什麼是你給出的語法錯誤是什麼? – 2014-09-26 20:01:39

+0

#1064 - 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第10行的''旁邊使用正確的語法 – chrisShick 2014-09-26 20:05:21

+0

這是在您設置觸發器時還是在運行可將其設置爲關閉的命令時使用的? – cmorrissey 2014-09-26 20:10:11

回答