简体   繁体   English

使用变量插入后MySQL触发语法错误

[英]MySQL trigger syntax error on insert after with variables

I am trying to track users sales based on the new transactions that come through. 我正在尝试根据所发生的新交易跟踪用户的销售。 The transactions are assigned through our site and not their desktop application. 交易是通过我们的网站而不是桌面应用程序分配的。 It is giving me a syntax error, but I can't seem to figure out why. 它给了我一个语法错误,但是我似乎无法弄清楚为什么。

This is my code: 这是我的代码:

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 ;

答案是将ELSE IF更改为ELSEIF

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM