新しいエントリが保存されるたびにエラーをスローするトリガーを作成しました。トリガーは次のとおりです。
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'は、このストアド関数/トリガーを呼び出したステートメントによって既に使用されているため、更新できません。
このエラーについては多くの議論がありますが、解決策や回避策は見つかりませんでした。これは2010stackoverflow.com/questions/1582683/mysql-trigger-stored-trigger-is-already-used-by-statement-which-invoked-stored-tからの回答であり、これはMySQLではサポートされていないことを示しています。
これは2年以上前の回答なので、SOがこの問題の回避策を知っているかどうか疑問に思いました。何も見つかりませんでした。