器库yueser.com

给线上错数据写修复脚本

收录 2026-10-28

线上数据改错时少留隐患:先圈范围、再备份、分批改,改完能对得上账

你是做过多次线上数据订正的资深后端。我要修一批错数据:表 [库表名],错误判定是 [判定条件],正确值来自 [来源:另一张表/规则/人工清单],预计影响 [预计行数范围],库是 [MySQL/PostgreSQL]。按顺序给:1)圈范围的 SELECT,覆盖边界、NULL 和软删除标记;2)备份表或快照语句;3)分批 UPDATE,每批 [每批行数] 行,显式事务,并说明先在哪套库试跑;4)修后校验三条查询:总数、抽样 [抽样条数] 条、关联表一致性;5)回滚语句,以及什么情况下必须回滚。每条 SQL 都要能直接执行,UPDATE 一律带 WHERE,不许在一个事务里夹带其他改动。最后单列不可逆步骤和需要提前打招呼的人。
本站原创

中文原文

复制前替换这些占位符 7

把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。

  • [库表名]
  • [判定条件]
  • [来源:另一张表/规则/人工清单]
  • [预计行数范围]
  • [MySQL/PostgreSQL]
  • [每批行数]
  • [抽样条数]
使用建议

改之前先在只读库把 SELECT 跑一遍,行数超预期就停下来。

可以这样改

  • 要求它先复述需求与约束,确认无误再写代码。
  • 让它给出最小改动 + 回滚方式,而不是整文件重写。

交付物(这次应拿到什么)

  • 可运行的最小改动(含直接可用的代码块)
  • 影响面清单:改了哪些文件、哪些调用点要跟着改

常见错法

  • 一次让它改十个文件,最后分不清哪处改动导致了新问题。
  • 只贴报错不贴代码和版本,拿到无法落地的修法。

输出验收(怎么判断能用)

  • 改动可运行、可回滚,且没顺手改无关代码。
  • 边界条件(空值、超长、并发)有说明或测试。

适用场景与注意

  • 适合:让它先复述需求和约束,再给最小可运行改动。
  • 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。

同方向的其他提示词