我的博客| Blog
- ·微信小程序错误:VM564:...
- ·mongodb3.2设置密码...
- ·单行滚动代码-单行滚动效果
- ·自己动手制作图形字体,以便于...
- ·MySQL无限级分类PHP按...
- ·Windows下的Apach...
- ·如何将网站上的文章分享到微信...
- ·PHP实现自动获取本月第几个...
联系我| Contact Me
- 电话:18681257080
- QQ:271538869
- 邮编:518020
- 信箱:service@08321.org
- 地址:四川省内江市资中县
诚信稳健,和谐共赢
- 以诚信为立世之本,在稳健的基础上,不断寻求创新与突破。
- 以务实严谨、精微细致的专业精神,为客户做最优质的策划,实现效果最大化。
成功,依稀可见
- 成功,依稀可见!——依希设计
- 成功是很多方面的,很多小的成功可以积累成大的成功,而真正意义上的成功是永远不可能到达的,所以只能依稀可见。
我的博客
清除Mysql重复数据,一条SQL语句删除Mysql数据库重复数据
来源:本站编辑 发布日期:2012-6-20 已有 人浏览过此信息
清除Mysql重复数据,一条SQL语句删除Mysql数据库重复数据
问题:
需要删除数据库中重复的QQ号,使用什么SQL语句呢?
按照SQL语句构造思想,可以写成这样:
delete from qq where id not in (select min(id) from qq group by qq)
但在运行时提示:
SQL执行错误 # 1093.从数据库的响应:
You can't specify target table 'qq' for update in FROM dause
这是神马意思?
1093错误为:在修改(删除)一个数据表的时候子查询不能是同一个表
既然知道了问题的原因,我们就能想到解决的办法。
解决办法:把子查询再套一层,变成原来表的孙子查询就可以了,例如:
delete from qq where id not in (select qq.id from (select min(id) as id from qq group by qq) as qq)
总结:
delete from qq where id not in (select qq.id from (select min(id) as id from qq group by qq) as qq) 这是对的
但是 delete from qq where id not in (select min(id) from qq group by qq) 就会报1093错误
问题:
需要删除数据库中重复的QQ号,使用什么SQL语句呢?
按照SQL语句构造思想,可以写成这样:
delete from qq where id not in (select min(id) from qq group by qq)
但在运行时提示:
SQL执行错误 # 1093.从数据库的响应:
You can't specify target table 'qq' for update in FROM dause
这是神马意思?
1093错误为:在修改(删除)一个数据表的时候子查询不能是同一个表
既然知道了问题的原因,我们就能想到解决的办法。
解决办法:把子查询再套一层,变成原来表的孙子查询就可以了,例如:
delete from qq where id not in (select qq.id from (select min(id) as id from qq group by qq) as qq)
总结:
delete from qq where id not in (select qq.id from (select min(id) as id from qq group by qq) as qq) 这是对的
但是 delete from qq where id not in (select min(id) from qq group by qq) 就会报1093错误