当前位置: 首页 > news >正文

神农架林区党的建设研究会网站/企业文化内容范本

神农架林区党的建设研究会网站,企业文化内容范本,做养生哪个网站有客人,网络运营工资大概多少最近因为发现数据库中的表有脏数据,需要维护。这些脏数据就是重复数据,需要将其删除。可能因为你在建表的时候考虑欠佳,需要为表里面的几个字段建立一个(联合)唯一索引,但是没有建立,而由于不止一个写的程序在往表里面…

最近因为发现数据库中的表有脏数据,需要维护。这些脏数据就是重复数据,需要将其删除。

可能因为你在建表的时候考虑欠佳,需要为表里面的几个字段建立一个(联合)唯一索引,但是没有建立,而由于不止一个写的程序在往表里面insert数据,造成数据的重复~~

现在需要删除这些重复数据,看了看网上前辈们写的例子,大多数不能用,rowid也出来了,而mysql中是没有rowid的。

现假设有一张t_test表,主键字段为id,还有date,time,cnt1,cnt,cnt3三个字段。假设date,time组合起来规定只能有一条记录(即需要为date,time建立联合唯一索引)。表中数据如下:

19c13fe6089aaf1c00e52de71277fa0b.png

可以看出:表中数据明显有不满足条件的重复数据。

我们先查询出有哪些重复数据(按date, time两个字段):

SELECT * FROM t_test WHERE (DATE, TIME) IN(SELECT DATE,TIME FROM t_test GROUP BY DATE, TIME HAVING COUNT(1)>1);

结果如下:

b75fb106404de6ab6c6a08d6df75a584.png

尝试使用网上的方法删除:

DELETE FROM t_test a WHERE (a.date, a.time) IN(SELECT DATE,TIME FROM t_test GROUP BY DATE, TIME HAVING COUNT(1)>1)

AND rowid NOT IN(SELECT MIN(rowid) FROM t_test GROUP BY DATE, TIME HAVING COUNT(1)>1)

根本行不通,因为rowid在MySQL里面是不存在的,这不同于Oracle。。

还需注意的一点是:mysql中不支持在delete语句里使用表别名,所以无法进行自连接来删除表中的记录!

解决方法:使用一个中间临时表过渡~~

首先,建立一个临时表如下:

CREATE TEMPORARY TABLE tmp AS SELECT MIN(id) FROM t_test GROUP BY DATE,TIME

查看临时表tmp的内容:

SELECT * FROM tmp

得到:

31f5a041e0f19f63bd8349af30ee9d5f.png

这张临时表记录了重复记录里id最小的主键,以及没有重复记录的主键信息。

接下来,删除不在里面的记录即可:

DELETE FROM t_test WHERE id NOT IN(SELECT * FROM tmp)

检查下现在的记录:

SELECT * FROM t_test

发现:

24fa9a9158945fc89c6eb065ae4bdf0b.png

发现,记录终于“干净”了。。重复性的记录被成功删除了!

当然比较保险的做法是建表时期就给date和time字段加上一个联合索引。或者删除重复记录之后再alter table加上一个联合索引即可。

http://www.jmfq.cn/news/5262499.html

相关文章:

  • 深圳建设网站公司/整合营销方案怎么写
  • 内部网站的作用/成都网站排名 生客seo
  • 如何在凡科上做网站/百度电视剧风云榜
  • 企查查企业信息查询在线/seo点击软件手机
  • 西安建设工程网/郑州百度seo排名公司
  • 采购在哪些网站开发供应商/网站多久被百度收录
  • 孝感 网站建设/进入百度首页官网
  • 做漫画在线观看网站/沈阳百度推广哪家好
  • wordpress 占有率/seo臻系统
  • 涿州做网站公司/wordpress外贸独立站
  • 风格网站建设/公司营销策划方案
  • 做jsp网站的步骤/网络服务商怎么咨询
  • 域名服务商查询/seo标签优化
  • 公司想建一个网站找谁做/正规seo排名多少钱
  • 温州网站设计哪家公司好/关键词查询网
  • 做阿里巴巴的网站的费用吗/东莞网站设计公司排名
  • 公司网站建设免费/seo思维
  • 网站动态背景怎么做/超级seo外链
  • 刚做的网站上线后收不到了/泉州全网营销优化
  • 邢台哪里有做网站的/seo技术分享
  • 百度站长工具添加不了站点/网络营销课程总结
  • angularjs 网站开发/企业网站多少钱一年
  • 海淀做网站哪家公司好/360收录查询
  • 网页字体网站/网络宣传推广方法
  • 免费制作logo的软件有哪些/seo顾问服
  • 网站建设需要什么技术/怎样做网站
  • 网站数据分析视频/沈阳关键词seo排名
  • 北京西站停车场收费标准/快手刷粉网站推广
  • 龙岩做网站龙岩网页设计/百度教育官网
  • 网站日历插件/seo包年优化费用