こんにちは、みんな :)!
基本的に、parent_id 列を介して自身を参照するテーブルが 1 つあります。テーブルの各行は親を持つことができ、count 列を介していくつの子を持つかを数えることができます。したがって、本質的に私がやろうとしているのは、必要に応じてトリガーが各親行のカウント列を更新することです
問題は、挿入トリガーの更新操作が呼び出されると、更新トリガーが呼び出されることです。それから私は得る:
「一般エラー: 1442 このストアド関数/トリガーを呼び出したステートメントで既に使用されているため、ストアド関数/トリガーのテーブル 'term_taxonomies' を更新できません」 .
何か案は?
実際のコード:
TRIGGER `dbname`.`ai_term_taxonomies` AFTER INSERT ON `dbname`.`term_taxonomies` 行ごとに 始める IF NEW.parent_id NOT 0 THEN UPDATE term_taxonomies as termTax SET assocItemCount = (assocItemCount + 1) WHERE termTax.term_taxonomy_id = NEW.parent_id; END IF; END$$ 作成 TRIGGER `dbname`.`au_term_taxonomies` `dbname`.`term_taxonomies` の更新後 行ごとに 始める IF NEW.parent_id NOT OLD.parent_id THEN IF NEW.parent_id NOT 0 THEN UPDATE term_taxonomies as termTax SET assocItemCount = (assocItemCount + 1) WHERE termTax.term_taxonomy_id = NEW.parent_id; END IF; IF OLD.parent_id NOT 0 THEN UPDATE term_taxonomies as termTax SET assocItemCount = (assocItemCount - 1) WHERE termTax.term_taxonomy_id = OLD.parent_id; END IF; END IF; END$$