问题标签 [multi-table-delete]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
177 浏览

sql - 如何从相互引用的表中删除行?

我想做这个:

但它给了我一个错误。

0 投票
3 回答
1053 浏览

mysql - 我可以在一个 SQL 语句中从 2 个表中删除行吗?

我有 2 个表,一个名为“REVIEW”,另一个名为“REVIEW_DESCRIPTION”

如果我进行连接以从两者中获取所有数据:

基于此,我想一次性删除两个表中符合此条件的行,有什么提示吗?

0 投票
13 回答
239206 浏览

sql - 删除 SQL Server 数据库中的所有数据

如何从我的数据库的所有表中删除所有记录?我可以使用一个 SQL 命令执行此操作,还是每个表需要一个 SQL 命令?

0 投票
4 回答
11142 浏览

mysql - 在单个查询中多次删除

从表 1 中删除 ConditionID=?ConditionID;

ConditionID 是 Table1、Table2、Table3 中存在的列,而不是单独运行 3 次,有没有办法在单个查询中运行所有三个(在 mysql 中)?

0 投票
1 回答
5365 浏览

sql - 从表1,表2,表3删除哪里?

如果我要删除的所有表都包含 gamer_id 列

我可以从 gamer_id = 123 的 table1、table2、table3 中删除吗?

还是有不同的语法?

0 投票
1 回答
763 浏览

myisam - MySQL - MyISAM 多表删除(类似于 ON CASCADE DELETE)

我正在寻找删除记录引用的所有条目,以及不同表中的所有子项。如果可能的话,我想使用多表删除语句而不是触发器。

例如

因此,鉴于上述类型的表结构,如果我从中删除第 2 行forms,将从中删除第 2,3form_options行以及第 1 行form_options_info

0 投票
1 回答
1570 浏览

sql - 删除多表 HSQLDB

HSQLDB 是否支持多表 DELETE 语句?

我在 Google 和论坛上进行了一些搜索,但找不到涉及这一点的主题。

0 投票
2 回答
992 浏览

mysql - SQL 删除与级联

我正在创建一个联系人管理系统,记录公司的联系方式、联系人、活动、公司提交的提案和捐赠。

一家公司可以有许多联系人,可以在许多活动中提交许多提案,并且可以为许多活动捐款。公司不需要有联系人,不需要提交任何提案,也不需要捐赠。我已经成功地使用 INSERT、UPDATE 和 SELECT 进行了查询,但没有使用 DELETE。现在我正在使用这个查询来删除一家公司及其所有相关数据:

我知道如果此查询有任何错误,它不会删除公司。我已阅读 DELETE CASCADE 作为更好的选择,但我不知道该怎么做。如果有人对如何做到这一点有任何想法,我将不胜感激。

0 投票
1 回答
1623 浏览

mysql - 如何在启用二进制日志记录的安全模式下执行多表删除?

假设我有以下数据结构:

B可能有超过 3000 条记录:大约 600 条记录,引用到 table 中的不同行C。我的服务器上启用了两个设置:

问题: 如何有效地删除 table 中的所有记录,通过 tableA引用 tableC的记录B而不发出警告?


我尝试了什么:

DBMS 服务器发出safe_mode错误:

错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用 KEY 列的 WHERE 的表 要禁用安全模式,请切换 Preferences -> SQL Queries 中的选项并重新连接。

我已删除B.别名:

是的,它成功了,但我有这个:

2 行受影响,1 个警告:1592 使用语句格式将不安全语句写入二进制日志,因为 BINLOG_FORMAT = STATEMENT。从另一个表中选择后写入具有自动增量列的表的语句是不安全的,因为检索行的顺序决定了将写入哪些(如果有)行。此顺序无法预测,并且可能在主从服务器上有所不同。

另外,我试图强制使用 PRIMARY KEY:

但这也没有帮助。我对我的服务器做了什么坏事或邪恶的事吗?什么方法是正确的?我错过了什么吗?

提前致谢。任何帮助将不胜感激。


PS:我知道如何使用谷歌和搜索栏。这是我发现的:

  1. https://stackoverflow.com/questions/12275864/multiple-delete-not-working-with-inner-join

  2. http://tech-solutions4u.blogspot.ru/2012/09/mysql-multi-delete-issue-in-safe-mode.html

等等。我已经尝试过,但最后,我不喜欢禁用服务器功能(不是由我设置的)的想法,甚至“暂时......”。


编辑:

我知道,有一种解决方法可以保存GROUP_CONCAT(ID_B)在临时变量中并通过它的“标量”值执行删除:

但这将是近似600 * 5 = 3000字符,所以这个想法也不受欢迎。我的意思是,如果没有其他可能,这将是最后的选择。

0 投票
1 回答
31 浏览

php - 我可以使用 Laravel 在产品模型中使用餐厅和类别表的多对多关系吗?以及如何添加更新 Categories_Restaurants 表?

现在我想在产品模型中建立这种多对多的关系......这可能吗?如何使用这种多对多关系插入 category_restaurants 数据透视表的更新删除?我可以使用 Laravel 在产品模型中使用餐厅和类别表的多对多关系吗?请举例说明