mysql 删除重复记录并且只保留一条

文章 未结 置顶 精帖 1 3.1w
无法显示用户头像
作者:ECode1024官方,责任编辑:ECode1024官方 5 钻石
发布于 2019-07-31
最近在做题库系统,由于在题库中添加了重复的试题,所以需要查询出重复的试题,并且删除掉重复的试题只保留其中1条,以保证考试的时候抽不到重复的题。 img[https://newecode1024.oss-cn-hongkong.aliyuncs.com/d8b8ea1f-3e40-466b-894a-0ef905132d01.jpg]  表结构如下 img[https://newecode1024.oss-cn-hongkong.aliyuncs.com/7ab38ecf-3534-487f-a54a-b0eb511ac6e2.png]  查询全部重复的数据: [pre] Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1); [/pre] 删除全部重复的数据: 将上面的查询select改为delete(这样会出错的) [pre] DELETE FROM   dept WHERE   dname IN (     SELECT       dname     FROM       dept     GROUP BY       dname     HAVING       count(1) > 1         ) [/pre] 会出现如下错误: [pre] [Err] 1093 - You cant specify target table dept for update in FROM clause [/pre] 原因是:更新这个表的同时又查询了这个表,查询这个表的同时又去更新了这个表,可以理解为死锁。mysql不支持这种更新查询同一张表的操作 解决办法:把要更新的几列数据查询出来做为一个第三方表,然后筛选更新。 img[https://newecode1024.oss-cn-hongkong.aliyuncs.com/2f5c636e-7700-4263-a5a2-580c49a796dc.png] 

声明:本文所有观点仅代表创作者本人,ECode1024系信息收集发布平台,ECode1024仅提供信息存储以及展示服务。若有侵权,请联系我们删除。
回复
  • 作者头像
    2019-11-09 13:21:02
    经过这么长时间帮人家出款的经历我说几点:一,平台一旦出现提款不到账系统维护,正在审核,这些都是平台百分之百黑你了!二,很多人发现出不了款都第一时间去找客服,我试问一下,人家本来就是坑你钱,你还去找人家要,会给你么?最后的下场就是额度不能转换账号被冻结!三,自己找到我们这些出黑的人,担心账号密码给了钱会被骗,这个证明你对网赌游戏的规则不了解,可以去看看你的分数可不可以转走,提款可不可以提到他人账上,慢慢了解一下再来出吧!四,只要可以正常游戏,正常额度转换的立即去寻找出黑的人赶紧出吧!时间一过,平台会发现你这个人没有利用价值,那么等来的结果就是封号!好了多的不说了!18183809022img[https://newecode1024.oss-cn-hongkong.aliyuncs.com/450ddc38-bbff-40f5-b77d-44894e3fd00b.jpg] 
推荐阅读
ECode1024 QQ交流群

打开手机QQ扫码加入 ECode1024 交流群

ECode1024 微信交流群

打开手机微信扫码关注 ECode1024 公众号