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

Posted

技术标签:

【中文标题】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 查询导致“查询中断”MySQL Workbench?的主要内容,如果未能解决你的问题,请参考以下文章

导致 mySQL 服务器实例关闭的 DELETE 语句?

为啥 MySQL DELETE 无法对子查询使用索引?

sql 使用这些MySQL查询修复WordPress数据库编码问题...来源#1:http://tanyanam.com/technology/fixing-encoding-issues-on-wo

51单片机中断优先级讲解以及示例说明

执行 DELETE 查询时备份 MySQL

针对 DELETE 查询的 MySQL 性能调整