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

场景

由于前端 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.对账验证 :更新后,对比 sortsort_bk 字段,确保数据正确。

总结

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

相关推荐
heimeiyingwang13 分钟前
【架构实战】SQL调优实战:从执行计划到索引优化
数据库·sql·架构
恼书:-(空寄16 分钟前
分库分表风险应对手册(生产实战版)
数据库·分库分表
XDHCOM41 分钟前
ORA-06521: PL/SQL映射函数错误,权威解析Oracle报错故障修复与远程处理方案
数据库·sql·oracle
wgzrmlrm741 小时前
mysql如何配置全文索引停用词_mysql ft_stopword_file设置
jvm·数据库·python
城数派1 小时前
2025年南京市全类别POI(55W+数据)
数据库·arcgis·信息可视化·数据分析·excel
疯狂成瘾者2 小时前
后端系统、服务稳定性里核心的指标有哪些
数据库
SPC的存折2 小时前
openEuler 24.03 MariaDB Galera 集群部署指南(cz)
linux·运维·服务器·数据库·mysql
仲芒2 小时前
[24年单独笔记] MySQL 常用的 DML 命令
数据库·笔记·mysql
SPC的存折2 小时前
MySQL 8.0 分库分表
linux·运维·服务器·数据库·mysql
蓦然乍醒3 小时前
使用 DBeaver 还原 PostgreSQL 备份文件 (.bak) 技术文档
数据库·postgresql