在MYSQL里,不能先select一个表的记录,再按此条件进行更新和删除同一个表的记录

解决办法是,将select得到的结果,再通过中间表select一遍,这样就规避了错误,这个问题只出现于mysql,mssql和oracle不会出现此问题。
MySQL根据字段删除重复值
delete from sites where id not in (
select t.max_id from
(select max(id) as max_id from sites group by name,url) as t
);
Oracle根据字段删除重复值
delete from sites where id not in (select max(id) as max_id from sites group by name,url) as t);
posted @   luoyang0731  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示