删除多对多关系中的相关行

2024-05-03

我正在删除位于多对多关系的一个站点上的表中的一行。我还想删除该关系另一端的任何相关行。

例如,假设我有下表,我想从中删除一行Cars。我还想从中删除任何相关行Drivers当然,任何不再需要的行CarDrivers.

Table Cars:
CarID      int
CarName    nvarchar(100)

Table Drivers:
DriverID   int
DriverName nvarchar(100)

Table CarDrivers:
CarID      int
Driver     int

我知道如何将上面的表格加入SELECT询问。但我不知道如何删除整个关系中的数据。

注意:关系双方都实现级联删除。因此,例如,删除一行Cars将删除中的任何相关行CarDrivers。但显然这不会传播到Drivers table.


我认为最好的方法是您必须首先删除相关表的数据。换句话说,如果您想删除汽车以及使用该汽车的相应驱动程序,则必须先删除驱动程序,然后再删除汽车。连接表将删除正确的记录,因为ON CASCADE DELETE.

尝试这个:

delete
from Drivers
where DriverID in
(
    select d.DriverID
    from Drivers d
    inner join CarDrivers cd
    on d.DriverID = cd.Driver
    inner join Cars c
    on c.CarID = cd.CarID
    where c.CarID = 1
)

delete
from Cars
where CarID = 1

当然,您不需要硬编码1在那里,如果您在存储过程中使用此代码片段,则可以使用包括参数在内的任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除多对多关系中的相关行 的相关文章

随机推荐

  • 使用java进行JSON模式验证[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为返回 JSON 对象的 java webapp 编写一些验收测试 我想验证返回的 JSON 是否针对架构进行验证 任何人都可以建议
  • 在 npm 中安装 js beautify 时`没有这样的文件或目录`

    当我使用时出现此错误npm g install js beautify npm ERR path home developer software nodejs lib node modules js beautify js bin css
  • Rails 加载完成后运行代码?

    我有一个定期任务需要每分钟执行一次 使用delayed job 我希望 Rails 在加载完成后立即自动将其排队 如果系统中尚不存在此类任务 对于我来说 在整个 Rails 引导流程结束时运行一些代码的好地方是什么 有人建议 config
  • C# Collection 的最大容量在哪里定义?

    我尝试向一个Collection添加大量元素 每个元素都是简单的数据传输对象 具有基本数据类型的五个属性 没有什么特别的 在循环中添加新条目时 我总是收到 OutOfMemoryException 有趣的是 当我尝试添加第 8388608
  • 在Python中沿特定轴广播操作

    在Python中 假设我有一个正方形numpy matrix X 尺寸n x n我有一个numpy vector a尺寸的n 很简单 我想执行广播减法X a 但我希望能够指定沿哪个维度 以便我可以指定沿轴 0 或轴 1 进行减法 如何指定轴
  • Powershell逐字读取文本文件

    因此 我试图计算文本文件的单词数 但是当我执行 get content 时 数组会逐个字母地读取它们 因此它不允许我逐个单词地比较它们 我希望你们能帮助我 清除主机 功能 function Get Articles foreach Word
  • 如何创建要添加到 JavaScript 对象变量的动态键 [重复]

    这个问题在这里已经有答案了 我正在尝试类似的事情 但这个例子不起作用 jsObj for var i 1 i lt 10 i jsObj key i example 1 我该怎么做才能制作这样的动态密钥 方括号 jsObj key i ex
  • GraphQL 中的二进制

    根据关于标量的文档 https graphql org learn schema scalar types在 GraphQL 中 到目前为止还不支持二进制数据 根据上面的页面 可以定义自己的类型 如何在 GraphQL 中实现二进制标量 我
  • 在 Ansible 中检查已安装的 yum 包/rpm 版本并使用它的最佳方法

    我已经在 CentOS 7 上尝试使用 Ansible 2 0 0 2 我试图从已安装的 rpm yum 软件包中获取版本 但在运行脚本时遇到警告消息 安塞布尔脚本 name Get version of RPM shell yum lis
  • NHibernate 会话线程安全

    我已经使用 NHibernate 一段时间了 并且不时发现如果我尝试同时请求两个页面 或尽可能接近 偶尔会出错 所以我认为这是因为我的会话管理不是线程安全的 我以为这是我的课 所以我尝试使用与这篇博客文章不同的方法http pwigle w
  • 如何刷新nodejs child_process stdin.write

    我需要在服务器端为客户端运行一个 C 程序 这个程序可以是交互式的 我正在使用 Node js child process 类 但我在这里看到一个问题 由于我需要保持程序交互 因此客户端和 Node js 服务器之间会来回交换消息 1 程序
  • 停止 jQuery 循环设置 display:none;

    我正在创建一个小游戏 用户从一组项目中进行选择 然后对所选项目进行洗牌并选择一个 我正在使用 jQuery 循环 http jquery malsup com cycle http jquery malsup com cycle 运行主动画
  • 从 @prisma/client 导入枚举会出现错误“模块 '"@prisma/client"' 没有导出的成员 'Modality'

    我想在 ORM 模型中使用我在 schema prisma 文件中定义的枚举 我正在使用 TypeGraphQL 我的 prisma 架构定义为 enum Modality CT MAMMO MRI STEREO 运行后npx prisma
  • iOS-图表库:没有支持数据的 x 轴标签不显示

    我正在使用流行的 iOS 图表库 3 1 1 版本 我遇到了 x 轴标签的问题 我似乎无法在网上找到答案 假设我想要一张图表 其中一周的每一天都有一个 x 轴标签 即 S M T W T F S 我读过的很多论坛都建议采用在 x 轴上设置自
  • 覆盖 SpringMVC 应用程序中的默认重定向 URL

    我有一个简单的 Spring MVC 应用程序 它将在某些控制器操作后将用户重定向到新页面 例如 Controller public class ResponseController RequestMapping value save me
  • 如何在 Windows 7 上安装适用于 Python 3.5 的 cvxopt

    我最近更新到 python 3 5 0 并想安装 cvxopt 到目前为止还没有运气 所以我尝试了 python 2 7 并按照说明进行操作here http cvxopt org install 我安装了 mingw 4 9 3 并从源代
  • 如何在mysql工作台中打开多个模型/数据库

    我有两个型号 1 Server Model conneted to remote database which is stored on server 2 Local Host connected to my pc database is
  • 使用 R 实现具有不同距离度量的 KNN

    我正在研究一个数据集 以便比较不同距离度量的效果 我正在使用KNN算法 R中的KNN算法默认使用欧几里德距离 所以我写了自己的一个 我想找到最近邻居和目标之间正确的类标签匹配的数量 我一开始就准备好了资料 然后我调用数据 wdbc n 我选
  • eshell (elisp shell) 启动时读取什么设置文件? eshell 如何设置它的 PATH?

    使用 emacs eshell echo PATH 显示与 PATH 环境变量不同的路径 我还检查了 eshell 不读取 bashrc 或 profile 我认为这就是路径不同的原因 eshell 启动时读取什么设置文件 eshell 如
  • 删除多对多关系中的相关行

    我正在删除位于多对多关系的一个站点上的表中的一行 我还想删除该关系另一端的任何相关行 例如 假设我有下表 我想从中删除一行Cars 我还想从中删除任何相关行Drivers当然 任何不再需要的行CarDrivers Table Cars Ca