相关疑难解决方法(0)

MySQL - 插入后触发更新同一个表的触发器

这是我正在尝试做的事情:

INSERT表格中有新内容时ACCOUNTS,我需要更新ACCOUNTSwhere pk=中的行,NEW.edit_on通过设置status='E'来表示特定(旧)帐户已被编辑.

DELIMITER $$

DROP TRIGGER IF EXISTS `setEditStatus`$$
CREATE TRIGGER `setEditStatus` AFTER INSERT on ACCOUNTS
FOR EACH ROW BEGIN
    update ACCOUNTS set status='E' where ACCOUNTS.pk = NEW.edit_on ;
END$$

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

要求不是我操纵新插入的列,而是操作已经存在的pk = NEW.edit_on

但是,我无法更新同一个表: Can't update table ACCOUNTS ... already used by the statement that invoked this trigger

请建议一个解决方法

PS:我已经通过已经走在触发更新表上相同的表更新后,插入到相同的表触发的MySQL,在同一个表插入触发器后更新对表后插入MySQL的触发器与插入和更新,但他们不似乎回答我的问题.

编辑 …

mysql database-trigger

24
推荐指数
3
解决办法
9万
查看次数

标签 统计

database-trigger ×1

mysql ×1