场景
由于前端 bug,尺码组的 sort 字段排序混乱,需要重置为根据插入时间递增的顺序。
解决方案
-
备份原数据 :新增
sort_bk字段,备份原sort值。 -
批量更新 :通过 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 字段,确保数据正确。
总结
通过备份和批量更新,前后字段对账、确保了数据安全和排序的准确性。