插入前Mysql触发更新表

时间:2018-02-14 03:59:43

标签: mysql triggers

当我插入新行时,我在存储的函数/触发器中有一个错误'无法更新表'联系',因为它已被调用此存储函数/触发器的语句使用。解决方法是什么?

我是MySQL触发器的新手。这是我的表的例子。一个客户可能有很多联系人。但只有一个联系人对一个客户来说很重要

CREATE TRIGGER clear_contact_priority
BEFORE INSERT
ON contact
 FOR EACH ROW
BEGIN
IF (NEW.is_important = 1)
THEN
UPDATE contact
  SET contact.is_important = 0
  WHERE contact.client_id = NEW.client_id AND contact.is_important = 1;
END IF;
END;

如果新行包含is_important = 1;

,我创建了触发器来更改联系人的重要状态
{{1}}

0 个答案:

没有答案