我有一个名为
的表
类别_tbl
Id
Categoryname
info
子类别_tbl
id
categoryid
subcatname
info
产品_tbl
id
subcat
info
我在这里 subcategory_tbl 有类别 id,product_tbl 有子类别 id 作为 subcat。现在如果我想删除一个类别,那么我需要删除 subcategory_Tbl 和 Product_tbl 中相同键的所有相应数据。我该怎么做?我尝试加入,但不起作用
最佳答案
没有cascading deletes在外键上,您可以通过从 subcategory
到 product
以及最后 category
的一系列删除来执行此操作。假设您要删除类别 123:
delete
from product_tbl
where subcatid in
(
select id
from subcategory_tbl
where categoryid = 123
);
delete
from subcategory_tbl
where categoryid = 123;
delete
from Category_tbl
where id = 123;
但是,如果您确实在两个外键上定义了 ON DELETE CASCADE
,那么您所需要做的就是删除类别,并且产品和子类别也会被删除。危险,但有效。
关于mysql - 如何使用一键从另外2个表中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21545235/