MySQL在同一个表中更新之前触发

时间:2015-02-10 20:59:01

标签: php mysql database triggers

我试图创建一个触发器,但是我收到错误:

  

#1442 - Can't update table 'materiaalverbruik' in stored function/trigger because it is already used by statement which invoked this stored function/trigger

现在我知道这是因为您无法在同一个表中更新但是有某种解决方法吗?在我的触发器下方:

DELIMITER //
CREATE TRIGGER `afterUpdateMateriaalverbruik` 
 BEFORE UPDATE ON  `materiaalverbruik` 
  FOR EACH ROW BEGIN 
    IF( NEW.kostenplaats_code <> OLD.kostenplaats_code ) THEN 
      UPDATE materiaalverbruik SET kostenplaats_code = NEW.kostenplaats_code
       WHERE artikelcode = OLD.artikelcode 
       AND materiaalverbruik_id != OLD.materiaalverbruik_id;
    END IF;
   END//

编辑:有人将此标记为重复,但在重复的问题中没有给出可靠的答案。我试图在这里更新同一个表中的多个记录。在重复的问题中,给出的答案没有提供答案,因为它是关于更新相同的行。

0 个答案:

没有答案