MySQL - 如何删除多对多关系中的相关行

标签 mysql sql sql-delete

例如,如果删除客户,则其他表上的所有相关行都将被删除。如何做到这一点 mysql,我花了一个小时尝试了很多解决方案,但没有人工作。 enter image description here

最佳答案

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

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

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

您可以了解有关ON DELETE CASCADE的更多信息 here

关于MySQL - 如何删除多对多关系中的相关行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39300810/

相关文章:

Android 房间数据库删除不起作用?

MySQL:在删除触发器中引用当前行

PHP MySQL 转换为 SMALLINT

java - mysql 函数像 java 一样进行加密/解密

java - MySQL select 与 JDBC 的性能问题

c# - 如何在winforms中用C#获取一个表中的所有记录并将其保存到另一个表中?

sql - 检查将 nvl2 与多个分组依据一起使用

SQL Server - 使用 SQL 删除日期范围之间的行。日期转换失败

PHP 支持希伯来语

mysql - 如何加快从 <我的语言> 插入 <我的 DBMS> SQL 数据库?