Mysql 从满足其他表中条件的表中删除
我是SQL新手,因此我感谢您的帮助,并请您原谅。如果这是一件简单的事情,我在其他相关帖子中找不到帮助我的答案 我必须使用表Mysql 从满足其他表中条件的表中删除,mysql,sql,Mysql,Sql,我是SQL新手,因此我感谢您的帮助,并请您原谅。如果这是一件简单的事情,我在其他相关帖子中找不到帮助我的答案 我必须使用表PRC\u FIX和IM\u ITEM。它们都有一列项目编号。我想删除PRC\u FIX中的一行,其中IM\u ITEM.ITEM\u VEND\u NO等于TOYM 我需要做一些加入吗?再次感谢你的帮助 编辑:我不需要帮助设置级联删除。我在问,当IM\u项目中的匹配行满足特定条件时,如何仅从PRC\u FIX中删除一行。正确的方法是设置级联删除外键约束 首先,删除不存在的内
PRC\u FIX
和IM\u ITEM
。它们都有一列项目编号
。我想删除PRC\u FIX
中的一行,其中IM\u ITEM.ITEM\u VEND\u NO
等于TOYM
我需要做一些加入吗?再次感谢你的帮助
编辑:我不需要帮助设置级联删除。我在问,当
IM\u项目
中的匹配行满足特定条件时,如何仅从PRC\u FIX
中删除一行。正确的方法是设置级联删除外键约束
首先,删除不存在的内容:
delete f from prc_fix f
where not exists (select 1 from im_item i where i.item_no = f.item_no);
然后,要在从im\u项目中删除行时自动删除行,请执行以下操作:
alter table prc_fix add constraint fk_prc_fix_item_no
foreign key (im_item) references im_item(item_no) on delete cascade;
正确的方法是设置级联删除外键约束
首先,删除不存在的内容:
delete f from prc_fix f
where not exists (select 1 from im_item i where i.item_no = f.item_no);
然后,要在从im\u项目中删除行时自动删除行,请执行以下操作:
alter table prc_fix add constraint fk_prc_fix_item_no
foreign key (im_item) references im_item(item_no) on delete cascade;
聪明的方法:
DELETE PRC_FIX
FROM PRC_FIX
INNER JOIN IM_ITEM ON IM_ITEM.ITEM_NO = PRC_FIX.ITEM_NO
AND IM_ITEM.ITEM_VEND_NO = 'TOYM'
我希望能对您有所帮助:)聪明的方法:
DELETE PRC_FIX
FROM PRC_FIX
INNER JOIN IM_ITEM ON IM_ITEM.ITEM_NO = PRC_FIX.ITEM_NO
AND IM_ITEM.ITEM_VEND_NO = 'TOYM'
我希望能对您有所帮助:)当他们从IM项目中删除时,他们已经被设置为从PRC\U修复中删除。我只希望在满足特定条件时从PRC_修复中删除它们。当它们从IM_项目中删除时,它们已设置为从PRC_修复中删除。我希望在满足特定条件时仅从PRC_FIX中删除。我的回答中的脚本只删除PRC_FIX
,如您所愿。试试看,让我知道结果。我回答中的脚本会根据需要删除PRC\u FIX
。试试看,让我知道结果。我试试看。谢谢你做到了。谢谢我试试看。谢谢你做到了。谢谢