1

我有桌子:

id  parent  name

现在,父字段是其他行的 id。正如MySQL所说,我不能为此使用触发器:

无法更新存储函数/触发器中的表“products_categories”,因为它已被调用此存储函数/触发器的语句使用。

一个过程应该如何删除所有具有父项的行,例如已删除的 id?

4

1 回答 1

0

您可以递归调用该过程。该过程必须执行以下操作:

  • 将值读parent入变量
  • 删除记录(通过它id
  • 如果parentvalue 不是 NULL - 再次调用该过程并将parentvalue 作为 IN 参数传递。

检查服务器变量max_sp_recursion_depth - 存储过程可以调用自身的次数。

于 2012-05-21T12:45:25.157 回答