批量删除表数据多字段信息重复数据且保留一条,mysql数据库

管理员 发布于 4年前   714

需求:一张表中有8万数据,大概有2万数据tag_id,taggable_id 字段数据重复,需要把重复的数据删除掉并保留一条,看看图片 形象点

1.png

思路:分组查出满足条件的有多条重复的数据,根据主键id拼接sql批量删除

1.这是满足条件且重复数据大于1条的

2.png

2. 查出要删除的数据的id

11.png

3.拼接sql 根据id批量删除

DELETE 
FROM
lara_13_cbb_taggables 
WHERE
id IN (
SELECT
id 
FROM
( SELECT id FROM lara_13_cbb_taggables WHERE taggable_type = 'App\\Models\\CardArticle' GROUP BY tag_id, taggable_id HAVING count( * ) > 1 ) e 
)

12.png

4.完事 看看效果

13.png

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

该博客于2020-12-7日,后端基于go语言的beego框架开发
前端页面使用Bootstrap可视化布局系统自动生成

是我仿的原来我的TP5框架写的博客,比较粗糙,底下是入口
侯体宗的博客

      订阅博客周刊

文章标签

友情链接

HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群
侯体宗的博客