大家好 :)!
我会尽量保持它尽可能简单,基本上,我有一个通过 parent_id 列引用自身的表。表中的每一行都可以有一个父级,并且可以通过计数列来计算它有多少个子级。所以基本上我想做的是让触发器在必要时更新每个父行的计数列
问题是当调用插入触发器中的更新操作时会调用更新触发器。然后我得到:
“一般错误:1442 无法更新存储函数/触发器中的表 'term_taxonomies',因为它已被调用此存储函数/触发器的语句使用”。
有任何想法吗?
实际代码:
触发器`dbname`.`ai_term_taxonomies` 在 `dbname` 上插入之后。`term_taxonomies` 每一行 开始 如果 NEW.parent_id 不是 0 那么 将 term_taxonomies 更新为 termTax SET assocItemCount = (assocItemCount + 1) WHERE termTax.term_taxonomy_id = NEW.parent_id; 万一; 结束$$ 创造 触发器`dbname`.`au_term_taxonomies` 更新后`dbname`。`term_taxonomies` 每一行 开始 如果 NEW.parent_id 不是 OLD.parent_id 那么 如果 NEW.parent_id 不是 0 那么 将 term_taxonomies 更新为 termTax SET assocItemCount = (assocItemCount + 1) WHERE termTax.term_taxonomy_id = NEW.parent_id; 万一; 如果 OLD.parent_id 不是 0 那么 将 term_taxonomies 更新为 termTax SET assocItemCount = (assocItemCount - 1) WHERE termTax.term_taxonomy_id = OLD.parent_id; 万一; 万一; 结束$$