2013-05-05 176 views
0

我试图创建一个触发器,使用两个不同表中的值插入新表(我使用的是MySQL 5.5.27)。尝试从mysql触发器插入时出现语法错误

当我尝试这个时出现语法错误,但看不到错误在哪里。

DECLARE _Token VARCHAR(255); 
SELECT token INTO _Token FROM appusers ON username = NEW.username; 
INSERT INTO queue (token, message) VALUES (_Token, NEW.milestone); 

我的假设是,它并没有像DECLARE因为当我使用下面我得到消息_Token是一个未声明的变量。

SELECT token INTO _Token FROM appusers ON username = NEW.username; 
INSERT INTO queue (token, message) VALUES (_Token, NEW.milestone); 

回答

2

尝试用一个单一的INSERT语句

INSERT INTO queue (token, message) 
SELECT token, NEW.milestone 
    FROM appusers 
WHERE username = NEW.username;