新错误。旧。 mysql在cms中触发注册

时间:2015-07-22 23:07:06

标签: mysql triggers

请帮助,在fz5_user_map 增加值后,需要最后一个 gr_id,在另一个表user_desc更改后

CREATE 
DEFINER = 'root' TRIGGER TEST3.trigger1
AFTER INSERT
ON TEST3.fz5_user_desc
FOR EACH ROW BEGIN
INSERT INTO `fz5_user_map` Set `NEW.gr_id` = LAST_INSERT_ID (`gr_id`) +1;
fz5_user_map
----------
id | gr_id
1  |  1
2  |  1

cms with NEW。旧。显示错误

  

注册失败:“字段列表”中的未知列'NEW.gr_id'   SQL = INSERT INTO user_desc

如何在不使用NEW的情况下完成。 OLD。?

BEGIN UPDATE `fz5_user_map` SET `gr_id` = (`gr_id` + 1);

如何更改gr_id中的最后一个值?

1 个答案:

答案 0 :(得分:0)

TEST3.fz5_user_desc的新引用,您试图在fz5_user_map中插入,因此Set NEW.gr_id = LAST_INSERT_ID ( gr_id ) +1;将无效。您不能插入插入触发器作用于表中(导致无限循环)。

这应该有效:

INSERT INTO fz5_user_map(gr_id) VALUES(NEW.gr_id+1);