mysql中delete from where子查询的限制是啥
发布时间:2022-02-19 14:25:26 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下mysql中delete from where子查询的限制是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! 1、使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。(相关推荐:MySQL教程
小编给大家分享一下mysql中delete from where子查询的限制是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! 1、使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。(相关推荐:MySQL教程) mysql> DELETE FROM 'tab' where id in (select min(id) from tag GROUP BY field1,field2 HAVING COUNT(id)>1); error: You can't specify target table 'tab' for update in FROM clause.(不能为FROM子句中的更新指定目标表'tab') 针对“同一张表”这个限制,多数情况下都可以通过多加一层select 别名表来变通解决,像这样 DELETE FROM 'tab' where id in ( select id from ( select max(id) from 'tab' GROUP BY field1,field2 HAVING COUNT(id)>1 ) ids ); 2.delete from table... 这其中table不能使用别名 mysql> delete from table a where a.id in (1,2);(语法错误) mysql> select a.* from table a where a.id in (1,2);(执行成功) 看完了这篇文章,相信你对mysql中delete from where子查询的限制是什么有了一定的了解。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读