# 如何避免对数据库重复执行同一项更改？

Canonical URL: https://help.iagenify.com/zh/faqs/databases/how-can-i-avoid-running-the-same-database-change-twice

[← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)

帮助中心 · 常见问题 数据库 1 分钟阅读
# 如何避免对数据库重复执行同一项更改？
应将写入操作设计为可安全重试。使用唯一业务键；多个相关更改必须一起成功时使用事务；操作结果不确定时，先检查上一次结果再决定是否重试。
IaGenify
数据库

## 有计划地进行重试
请求超时后，调用方可能无法确定写入是否已提交。重复执行非幂等插入可能产生重复记录，即使第一次请求已经成功。若数据模型允许，可使用唯一约束或 upsert。
对于多步相关更改，如果数据库操作支持事务，请用事务将它们一起提交或回滚。让 SQL 语句目标明确，并使用参数绑定，而不是拼接不可信文本。
## 确认实际存储结果
连接或工作流报错后，重试前先通过稳定标识查询并检查当前行。超时并不能证明没有写入；应区分请求失败和结果未知。
适当时在运行历史中记录操作键和变更信息。若写入还关联外部副作用，请使用 outbox 队列或明确的状态转换，避免通知或付款被悄悄重复执行。 [← 返回数据库常见问题](https://help.iagenify.com/zh/faqs/databases)
