使用表B中的内容更新表A.

时间:2012-05-23 08:41:59

标签: mysql triggers sql-update

我试图在mySQL中创建一个触发器,当我执行插入操作时,它将使用另一个表中的数据更新colum。

我得到了表:rtsEP_groups 使用:id,name

和表:rtsEP_users with:id,groups(以及很多其他人)

我想更新rtsEP_users中的“groups”,当rtsEP_users中有新插入时,rtsEP_groups中的“id”,其中“name”为“Student”。

我正在研究这个触发器,但不确定它是否正确,以及如何完成它。 如何更新正确的列。

CREATE TRIGGER defaultGroup
AFTER INSERT ON rtsEP_users
BEGIN
DECLARE _group_id INTEGER;
SELECT id INTO _group_id FROM rtsEP_groups WHERE name = "Student"
UPDATE rtsEP_users SET groups = _group_id WHERE 

1 个答案:

答案 0 :(得分:0)

使用BEFORE INSERT代替AFTER,因此New代表您可以更新的插入行。 试试这个

CREATE TRIGGER defaultGroup BEFORE INSERT ON rtsEP_users
FOR EACH ROW
SET New.groups = (SELECT id FROM rtsEP_groups WHERE name = "Student");