mysql 操作
MySql报错: You can‘t specify target table ‘table name‘ for update in FROM clause
在Mysql下执行: delete from blur_article where id not in(select min(id) from blur_article group by title)
用途是去重复标题,但是却报错! #1093 - You can‘t specify target table ‘blur_article‘ for update in FROM clause
在Mysql下执行: select * from blur_article where id not in(select min(id) from blur_article group by title) 执行查询语句却显示成功!
怎么回事呀,如果上面的delete不能执行,有没有别的sql可以做这样的操作?
我是想做一个去重复操作,比如说: 字段 id title 1 张三 2 李四 3 张三 4 王五 5 李四
最终结果是 id title 1 张三 2 李四 4 王五
mysql中不能这么用。 (等待mysql升级吧) 错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)
替换方案: create table tmp as select min(id) as col1 from blur_article group by title; delete from blur_article where id not in (select col1 from tmp); drop table tmp;
已经测试,尽请使用
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。