首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -如何删除多到多关系中的相关行

问MySQL -如何删除多到多关系中的相关行
EN

Stack Overflow用户
提问于 2016-09-02 21:16:21
回答 2查看 9.4K关注 0票数 2

例如,如果客户被删除,其他表(S)上的所有相关行都将被删除。如何做到mysql,这是一个小时,我尝试了许多解决方案,但没有一个工作。在这里输入图像描述

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-03 23:18:00

实现这一目标的最简单方法是使用ON DELETE CASCADE 选项设计相关表。

基本上,当您设计一个具有外键ON DELETE CASCADE (其他表上的主键)的数据库表时,您可以为该外键设置。这意味着,当在主表上删除记录(该外键为主键的表)时,其他表上的所有相关记录都会被删除。

因此,您不需要考虑创建“疯狂”的查询来删除多个表上的相关数据。

您可以通过以下链接了解有关ON DELETE CASCADE的更多信息:mysqltutorial.org/mysql- on -delete-级联

票数 3
EN

Stack Overflow用户

发布于 2016-09-02 21:22:39

您必须首先DELETE地址,客户,并在关系之后,或您可以尝试使用删除卡.但是要小心http://www.mysqltutorial.org/mysql-on-delete-cascade/也看到了这个:MySQL在删除级联。测试实例

DELETE FROM Addresses WHERE AddressID IN (SELECT AddressID FROM Custormers_Addresses WHERE CustormerID = ID)

然后..。删除客户DELETE FROM Customers WHERE CustomerID = ID

然后..。删除relacion DELETE AddressID FROM Custormers_Addresses WHERE CustormerID = ID

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39300810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档