MySQL在单个触发器中嵌套FOR EACH而不是多个触发器

时间:2013-05-29 02:04:59

标签: mysql triggers

假设我有3张桌子:

  1. 课程
  2. 成分
  3. meals有多个coursescourses有多个ingredients

    现在,如果我删除了一餐,则会触发删除与该餐相关联的每个courses,以及第二个触发器,将删除与每个课程相关联的每个ingredients

    有没有办法在单个触发器中执行此操作,并在FOR EACH中说FOR FOR EACH?当然有一种方法,我对触发器不够好。我搜索了“嵌套触发器”,“每个嵌套”,也许我看错了。

    请不要告诉我在删除餐后不应删除课程,因为它可能用于另一餐,与食材相同。这只是我正在做的事情的一个简化例子。

1 个答案:

答案 0 :(得分:1)

我建议您对两个表使用带有CONSTRAINT的foreign_key ON DELETE CASCADE,但这取决于您使用的是InnoDB还是MyIsam引擎。

请在此处查看示例:How do I use on delete cascade in mysql?