当前位置: 代码网 > it编程>数据库>Mysql > Mysql如何实现更新偶数行或者奇数行

Mysql如何实现更新偶数行或者奇数行

2025年07月08日 Mysql 我要评论
一、需求背景在处理数据时,由于表的主键是data_seq_id, 自己定义的一个序列,例如:inwdn000827....这些数据是需要用户来维护的,如果用户维护成两份,因为主键设计成这样已经无法避免

一、需求背景

在处理数据时,由于表的主键是data_seq_id, 自己定义的一个序列,例如:inwdn000827....

这些数据是需要用户来维护的,如果用户维护成两份,因为主键设计成这样已经无法避免了。如何清除掉重复数据呢?

二、查找重复数据

通过group by count 查找到重复数据。

data_seq_idvalueflag
a001v1y
a002v1y
a003v2y
a004v2y

三、update 奇数行的flag为n

如何找到奇数行或者偶数行呢?

select *
from( select @rownum := @rownum + 1 as row_num, t.*
from m_bis_data_d t,( select @rownum := 0 ) tmp_table) t
where t.row_num % 2 = 1

通过这个sql 可以将奇数行找到data_seq_id 。然后将其update 掉即可。

四、总结

实际上解决这个问题应该是从根本上解决,主键不能这么随意,应该在设定主键之初就考虑到这个问题。我的想法是用value 然后md5生成主键,即不会重复也可以确保不会数据重复。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com