Ash*_*osh 4 postgresql node.js knex.js
我正在尝试运行一个简单的 Postgres SQL 插入:
insert into "Resources" values(1, 'How are you?');
Run Code Online (Sandbox Code Playgroud)
但是插入后的结果是:
ID Data
--- ------
1 How are you$1
Run Code Online (Sandbox Code Playgroud)
我知道,要插入像单引号这样的字符,我必须用另一个单引号将其转义,例如:我不能这样做。
但是怎么办呢?
Knex 将?和解释??为位置绑定。您通常会在knex.raw()语句中使用它们来安全地注入某种变量。例如:
knex.raw('UPDATE my_table SET my_column = ?', [someVariable])
Run Code Online (Sandbox Code Playgroud)
像这样的绑定参数对于原始语句通常是必要的,以确保您注入的任何内容都被安全地转义。
所以这就是你看到这种行为的原因。好消息是,你可以避开问号。从Knex.js 文档:
防止更换?可以使用转义序列\\?。
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |