关于delete删除select查询出来的结果怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于delete删除select查询出来的结果怎么做相关的知识,希望对你有一定的参考价值。

--假设有表A,并且有个主键列C1--删除查询出来的行DELETE [A] WHERE C1 IN( --查询出来的信息 SELECT C1 FROM [A] WHERE 条件) 参考技术A --假设有表A,并且有个主键列C1--删除查询出来的行DELETE [A] WHERE C1 IN( --查询出来的信息 SELECT C1 FROM [A] WHERE 条件)本回答被提问者采纳 参考技术B delete from 表名 where (select 要查询的热条件 from emp)

DELETE 查询导致“查询中断”MySQL Workbench?

【中文标题】DELETE 查询导致“查询中断”MySQL Workbench?【英文标题】:DELETE query results in 'Query Interrupted' MySQL Workbench? 【发布时间】:2017-11-06 17:38:02 【问题描述】:

我可以通过单击选择和删除行手动成功删除记录,但执行删除查询会导致“查询中断”。

我的删除查询格式为:

DELETE FROM table where column = value;

select 语句使用相同的值:

SELECT * FROM table WHERE column = value; 

并返回所需的结果。

什么可能导致删除语句失败?在 Workbench 中一次可以删除的记录数量是否有限制?

【问题讨论】:

有几件事可能会导致这种情况。您看到的完整错误消息是什么?将删除多少行?你在 where 子句中的列上有索引吗? @Sloan 它有数千条记录,我刚刚注意到当我尝试一次全部删除它们时它也会失败,一次可以删除多少条记录是否有限制?是的,有一个索引。 【参考方案1】:

如果您想删除表的全部内容,可以使用 Truncate。

TRUNCATE [TABLE] tbl_name

请参阅文档:https://dev.mysql.com/doc/refman/5.7/en/truncate-table.html

使用DELETE函数通常用于删除单行。

【讨论】:

【参考方案2】:

在 MySQL-Workbench 中有一个默认的千行限制。 SELECT 查询将返回结果,但如果要删除的记录数超过一千,则 DELETE 将失败。一种选择是限制查询本身的结果,或者您可以按照documentation 中的说明调整设置。

【讨论】:

以上是关于关于delete删除select查询出来的结果怎么做的主要内容,如果未能解决你的问题,请参考以下文章

在mysql中把查询出来的结果在进行查询,用sql怎么写。

Mysql 子查询怎么写?

SQL语句 怎么把从一个表中查出来数据插入到另一个表中

关于sql中多表查询的select命令

sql嵌套删除语句

postgresql查询的结果有空的集合,怎么去除