让值与 SQL 语法保持分离
查询通常会将固定指令与来自表单、工作流输入或先前数据库结果的值组合起来。请使用占位符构造 SQL 语句,并将对应值放入 `params`。
这样值会被当作数据处理,而不是 SQL 语法的一部分,也能减少引号和转义错误。
读取和写入都应采用这种方式:SQL Database 读取接受 `{ sql, params }`,execute 操作则接受 `action: "execute"` 以及 `sql` 和 `params`。
参数表示数据值,不能代替表名或列名;标识符和查询结构必须在 SQL 中明确选择。
检查语句和执行结果
使用连接的数据库所支持的参数格式,并按占位符顺序提供值。不要假设参数可以代替表名、列名或 SQL 关键字。应明确编写查询结构,并将变量数据放在参数中。
读取操作要检查返回的行,并确认筛选条件匹配了预期记录。execute 操作则根据情况检查行、变更数量或 lastRowId。
如果写入可能影响所有行,请有意添加 WHERE 条件;无范围限制的更新和删除需要显式设置 `all: true`。