1

error 1093: MySQL can’t specify target table 'SENTIERO' for update in FROM clause

これが私のトリガーです:

CREATE TRIGGER lunghezza_sentiero_datoderivato_INSERT
AFTER INSERT ON SENTIERO_HA_TAPPA
FOR EACH ROW

BEGIN

UPDATE SENTIERO
SET lunghezza= (SELECT SUM(lunghezza)
                FROM TAPPA, SENTIERO as S2, SENTIERO_HA_TAPPA
                WHERE NEW.IDsentiero=S2.IDsentiero
                and SENTIERO_HA_TAPPA.IDtappa=TAPPA.IDtappa);
WHERE IDsentiero IN (SELECT IDsentiero
                     FROM TAPPA, SENTIERO, SENTIERO_HA_TAPPA
                     WHERE SENTIERO_HA_TAPPA.IDsentiero=SENTIERO.IDsentiero
                     and NEW.IDtappa=SENTIERO_HA_TAPPA.IDtappa);
END$$

この問題に関するこの記事を見つけました。http: //verysimple.com/2011/03/30/mysql-cant-specify-target-table-for-update-in-from-clause/で確認してください。

それは私が持っている唯一のチャンスですか?私を助けてください

編集::「WHERE」句を追加しましたが、「エラー構文」を通知します...なぜですか?

4

1 に答える 1