mysql单表update触发器

新建触发器
DELIMITER ||

DROP TRIGGER IF EXISTS inventory_tig||

CREATE TRIGGER inventory_tig AFTER UPDATE ON pt_sessions_level FOR EACH ROW

BEGIN

IF new.inventory = 0 THEN

UPDATE
pt_sessions_level
SET
STATUS = 0
WHERE inventory = 0;
END IF;

END||

当我执行update语句时
UPDATE
pt_sessions_level
SET
inventory = 0
WHERE sessionslevelid = 683

会报Can't update table 'pt_sessions_level' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

异常。哪位大神解决下

问题是你本身就是更新触发器,里面又更新自己。实施用关键字new.

试试用关键字获取最后变更的一行 用set new.***.
错别字害死人。。