我创建了一个触发器,只要存储新条目就会抛出错误。这是触发器:
CREATE TRIGGER `htmlid` BEFORE INSERT ON `makelist_food`
FOR EACH ROW BEGIN
IF (NEW.html_id IS NULL) THEN
INSERT INTO makelist_food SET html_id = CONCAT('f', NEW.id);
END IF;
END
错误是:#1442 - 无法更新存储函数/触发器中的表'makelist_food',因为它已被调用此存储函数/触发器的语句使用。
有很多关于此错误的讨论,但我没有找到任何解决方案或解决方法。以下是2010 stackoverflow.com/questions/1582683/mysql-trigger-stored-trigger-is-already-used-by-statement-which-invoked-stored-t的答案,其中指出MySQL中根本不支持这一点。
由于这是超过2年的答案,我想知道是否SO知道这个问题的一些解决方法。我找不到任何。
答案 0 :(得分:1)
你是不是意味着
IF (NEW.html_id IS NULL) THEN
SET NEW.html_id = CONCAT('f', NEW.id);
END IF;