从表中删除行导致在另一个表中删除

时间:2013-11-30 14:18:06

标签: php mysql sql nested-set-model

我有2个表:类别表和产品表。

与外部键没有直接关系,因此SQL中没有依赖关系。 Products表包含一个名为category_id的字段,只是为了在我的视图中与类别表进行连接。

问题在于:

当我在php中执行此过程时:

begin

SELECT @lft := lft, @rgt := rgt, @wdt := rgt - lft + 1
FROM categorie
WHERE id = id_categoria;

DELETE FROM categorie WHERE lft BETWEEN @lft AND @rgt;

UPDATE categorie SET rgt = rgt - @wdt WHERE rgt > @rgt;
UPDATE categorie SET lft = lft - @wdt WHERE lft > @rgt;

end

正确删除了该类别及其所有叶子,但也删除了包含在“category_id”字段中的其中一个已删除类别ID的产品行!

这是一个SQL问题还是我没有考虑的事情?

0 个答案:

没有答案
相关问题