BEFORE UPDATEトリガー内でmysqlの行を削除することは可能ですか? これを試してみましたが、 「このストアド関数/トリガーを呼び出したステートメントで既に使用されているため、ストアド関数/トリガーのテーブル 'as_adunit_attribute' を更新できません。」
というエラーが表示されます。
DELIMITER $$
CREATE TRIGGER trigger_BEFORE_UPDATE
BEFORE UPDATE
ON table_one FOR EACH ROW
BEGIN
IF (SELECT default_value FROM table_two WHERE id = NEW.table_two_id) = NEW.value THEN
DELETE FROM table_one WHERE (id = NEW.id );
END IF;
END $$
DELIMITER ;
その背後にあるアイデアは、2 つのテーブルがあり、1 つはデフォルト値で、もう 1 つはカスタム値であるということです。そのカスタム値がデフォルトと同じであれば削除したいと思います。