展开知识库目录

让 AI 写 SQL 时怎样限制范围并先做只读验证

先提供数据库类型、表结构、主键、关系、样例和业务口径;让查询只返回目标行与预计影响,再由人审查写操作。

先把问题看准

AI 写 SQL 的第一版只做只读预览

先提供数据库类型、表结构、主键、关系、样例和业务口径;让查询只返回目标行与预计影响,再由人审查写操作。生产管理员账号不用于探索。

第 1 步

固定目标和范围

写要找或修改的精确对象、时间窗、租户和排除条件,确认主键与唯一约束。

把涉及的文件、目录、版本、命令和实际输出写进记录;代码变化同时保留 diff 与测试结果。

第 2 步

先生成 SELECT

用与计划写操作完全相同的 WHERE 和 JOIN 预览主键、旧值、新值候选和总行数。

确认“先生成 SELECT”已经有可回查结果,再进入“检查执行计划与锁”;依据仍然来自猜测时,把缺口单列并停在当前步骤。

第 3 步

检查执行计划与锁

在合适环境评估索引、全表扫描、事务大小和并发影响,避免一次处理未知规模。

确认“检查执行计划与锁”已经有可回查结果,再进入“准备备份和事务”;依据仍然来自猜测时,把缺口单列并停在当前步骤。

第 4 步

准备备份和事务

选择可恢复方式、批次、审计表和回滚 SQL;数据库不支持所需事务语义时重新设计。

确认“准备备份和事务”已经有可回查结果,再进入“批准后执行并复核”;依据仍然来自猜测时,把缺口单列并停在当前步骤。

第 5 步

批准后执行并复核

由责任人确认目标、影响行数和窗口;执行后重跑核对查询并保存日志。

需要修改时先限定文件和行为范围,无法说明回滚方式或影响面的动作先不执行。 完成后把证据归入“只读预览、影响行数与审批记录”。

完成后应能在“只读预览、影响行数与审批记录”中找到与这一步对应的记录;仍需靠猜测补全,就停在这里。

做到这里就可以停

SQL 文本不是最终交付

交付应包含目标、只读预览、影响主键、执行计划、备份、批准、实际行数和回滚验证。任何范围无法列举时不进入写操作。

进一步核对

参考资料与核对入口