Mysql如何实现更新偶数行或者奇数行
更新时间:2025年07月07日 15:58:16 作者:MyySophia
这篇文章主要介绍了Mysql如何实现更新偶数行或者奇数行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、需求背景
在处理数据时,由于表的主键是data_seq_id, 自己定义的一个序列,例如:INWDN000827....
这些数据是需要用户来维护的,如果用户维护成两份,因为主键设计成这样已经无法避免了。如何清除掉重复数据呢?
二、查找重复数据
通过group by count 查找到重复数据。
| data_seq_id | value | flag |
| A001 | v1 | Y |
| A002 | v1 | Y |
| A003 | v2 | Y |
| A004 | v2 | Y |
三、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生成主键,即不会重复也可以确保不会数据重复。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解 Mysql 事务和Mysql 日志
这篇文章主要介绍了详解 Mysql 事务和Mysql 日志的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
2020-08-08
MySQL主从复制原理详情
这篇文章主要介绍了MySQL主从复制原理详情,MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点,文章围绕主题展开详细的内容介绍。感兴趣的小伙伴可以参考一下
2022-06-06
MySQL索引结构详细解析
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构
2022-03-03
给mysql数据库的字段设默认值方式
这篇文章主要介绍了给mysql数据库的字段设默认值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
2023-10-10
MySQL优化之连接优化
MySQL连接优化主要指客户端连接数据库以及数据库为响应客户端的请求而打开数据表和索引的过程中涉及到的参数调整。下面我们来详细的探讨下
2017-03-03
详解MySQL的内连接和外连接
这篇文章主要介绍了详解MySQL的内连接和外连接,mySQL包含两种联接,分别是内连接(inner join)和外连接(out join),但我们又同时听说过左连接,交叉连接等术语,本文就带大家来了解一下,需要的朋友可以参考下
2023-05-05
MYSQL 根据唯一索引键更新死锁问题解析
这篇文章主要介绍了MYSQL 根据唯一索引键更新死锁问题解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-10-10
使用PDO防sql注入的原理分析
这篇文章主要给大家介绍了关于使用PDO防sql注入的原理的相关资料,文中还给大家介绍了使用PDO的注意事项,通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
2018-12-12
最新评论