0

我创建了一个触发器,每当存储新条目时都会引发错误。这是触发器:

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 是否知道这个问题的一些解决方法。我找不到任何东西。

4

1 回答 1

1

你是不是意味着

IF (NEW.html_id IS NULL) THEN
    SET NEW.html_id = CONCAT('f', NEW.id);
END IF;
于 2012-07-29T19:18:50.293 回答