如何根据另一个表中的其他行从mysql中删除多行

时间:2017-07-09 18:31:35

标签: mysql

我有一个表被叫手机包含所有成员的电话号码,每个成员都有唯一的ID,还有另一个表叫帖子帖子表有很多行,每个帖子都有自己的成员ID和另一个单元格

我需要从posts表中收集所有成员ID,具体取决于分支单元格,并从phone表中删除成员ID从posts表中收集

我试过这个,但它给我一个错误消息,mysql服务器丢失了连接

delete from `phones` where `mid` in(select `uid` from `posts` where `branches` = 'contact');

注意:我在本地服务器上使用mysql workbench

已更新

在我设置下面的偏好设置

后,此查询也有效

转到编辑 - >偏好 - > SQL编辑器并增加参数:DBMS连接读取超时(以秒为单位)。例如:86400。

关闭并重新打开MySQL Workbench。终止您之前可能正在运行的查询并再次运行查询。

感谢@scaisEdge

1 个答案:

答案 0 :(得分:1)

您的查询似乎正确..无论如何,您可以尝试使用内部联接

didReceiveMessage

内部联接不使用IN子句,因此您可以绕过所涉及的限制

如果错误仍然存​​在,请尝试增加读取超时时间

转到编辑 - >偏好 - > SQL编辑器和icr​​ease参数:DBMS连接读取超时(以秒为单位)。例如:86400。

关闭并重新打开MySQL Workbench。终止您之前可能正在运行的查询并再次运行查询。