如何安全批量更新数据库某个字段

场景

由于前端 bug,尺码组的 sort 字段排序混乱,需要重置为根据插入时间递增的顺序。

解决方案

  1. 备份原数据 :新增 sort_bk 字段,备份原 sort 值。

  2. 批量更新 :通过 SQL 更新 sort 字段,确保其从 1 开始递增:

复制代码

UPDATE size_group_detail d1, (SELECT id, @row := @row + 1 AS new_sort FROM size_group_detail, (SELECT @row := 0) t WHERE size_group_id = 38 AND is_delete = 0) d2 SET d1.sort = d2.new_sort WHERE d1.id = d2.id;

小技巧:一百多个尺码组是,把以上 sql 复制 100′, 复制纵向排列尺码组Ids,选中多行的"38" 把尺码组ids 粘贴上去

3.对账验证 :更新后,对比 sort 和 sort_bk 字段,确保数据正确。

总结

通过备份和批量更新,前后字段对账、确保了数据安全和排序的准确性。

相关推荐
蓝胖的四次元口袋11 分钟前
Redis知识梳理(1)
数据库·redis·缓存
夜雪一千15 分钟前
MySQL 数据加密实战:从传输、存储到字段级加密,分清场景不踩坑
数据库·mysql
wefg11 小时前
【Redis】C++ 自定义客户端
数据库·redis·缓存
这个DBA有点耶1 小时前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
天国梦2 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
DB哥讲数据库2 小时前
【达梦数据库安装教程】超详细图文讲解-附达梦安装包
数据库·oracle
Hoxy.R2 小时前
【金仓数据库产品体验官】KingbaseES V9R2C16 坏块检测与修复完整测试流程
数据库
太理摆烂哥4 小时前
MySQL数据库基础
数据库·mysql
wuhuhuan4 小时前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter
小羊没烦恼!5 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式