gpt4 book ai didi

sql - 当另一个表中的特定行已被删除时,从表中删除行

转载 作者:行者123 更新时间:2023-11-29 04:58:47 24 4
gpt4 key购买 nike

我有一个群组,每个群组都有与之关联的联系人。当用户删除一个组时,如果该组不为空,那么它会提醒他们,如果他们继续,该组中的所有联系人都将被删除。无论如何,我的问题是设置该功能。

我试图弄清楚如何删除属于该组的所有联系人并同时删除该组。

在我继续之前,我想知道有没有一种通过外键自动执行此操作的方法?

好吧,如果不正常,这是我的查询,但 SQL Workbench 抛出以下错误

DELETE c
FROM `list_`.`contacts` AS c
INNER JOIN `list_`.`groups` AS g ON c.group_id = g.id
WHERE g.group = 'School'
AND c.user_id = 2;

错误:

Error Code: 1046 No database selected

真的很困惑,我也试过c.*

最佳答案

MySQL supports multi-table deletions在一条语句中 - 使用:

DELETE c, g
FROM `list_`.`contacts` AS c
JOIN `list_`.`groups` AS g ON c.group_id = g.id
AND g.group = 'School'
WHERE c.user_id = 2;

关于错误代码 1046,当使用 WorkBench 时,确保在对象浏览器选项卡上方的下拉菜单中选择了适当的数据库/目录。您可以为连接指定默认架构/数据库/目录 - 单击 Workbench 初始屏幕的 SQL 开发标题下的“管理连接”选项。

关于sql - 当另一个表中的特定行已被删除时,从表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com