例如,如果客户被删除,其他表(S)上的所有相关行都将被删除。如何做到mysql,这是一个小时,我尝试了许多解决方案,但没有一个工作。在这里输入图像描述
发布于 2016-09-03 23:18:00
实现这一目标的最简单方法是使用ON DELETE CASCADE 选项设计相关表。
基本上,当您设计一个具有外键ON DELETE CASCADE (其他表上的主键)的数据库表时,您可以为该外键设置。这意味着,当在主表上删除记录(该外键为主键的表)时,其他表上的所有相关记录都会被删除。
因此,您不需要考虑创建“疯狂”的查询来删除多个表上的相关数据。
您可以通过以下链接了解有关ON DELETE CASCADE的更多信息:mysqltutorial.org/mysql- on -delete-级联
发布于 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
https://stackoverflow.com/questions/39300810
复制相似问题