返回数据库常见问题
帮助中心 · 常见问题数据库1 分钟阅读

为什么没有筛选条件的数据库更新会被拦截?

如果更新或删除操作没有筛选条件或 SQL WHERE 子句,IaGenify 会拦截它,除非你明确确认要更改所有匹配记录。这项保护可以避免因遗漏条件而意外影响整个集合或表。

数据库

安全检查如何工作

在 MongoDB 中,空筛选条件可能匹配集合内的所有文档。在 SQL 中,不带 WHERE 的 UPDATE 或 DELETE 可能修改或删除目标表中的全部行。

存储工具会识别这些无范围限制的操作,并要求执行前显式确认 `all: true`。

这项检查不会判断全量更改是否合适,只会让广泛影响范围变得明确。更安全的做法是先查询目标记录,使用稳定键构建筛选条件,并在写入前检查匹配结果。对于 SQL,应使用 WHERE 条件准确指出需要更改的行。

谨慎使用全量确认

如果确实要更新或删除所有记录,`all: true` 会为本次操作确认这一范围。只有在请求明确要求全量更改且你已评估后果时才使用它。此选项不会提供撤销功能;如果需要恢复,应事先保留备份或导出。

如果原本只想进行局部更新,不要为了消除错误而直接添加确认。请修正筛选条件,核对目标存储及表或集合,并在执行写入前检查匹配记录。这样可以利用这条错误信息准确界定预期范围。

返回数据库常见问题