如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器
Posted
技术标签:
【中文标题】如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器【英文标题】:How to use Parameterized query using TypeORM for postgres database and nodejs as the application's back-end server 【发布时间】:2019-07-08 03:45:41 【问题描述】:我想从名称 = SUPREME INT'L 的 postgres 表中获取行, 注意:此字符串在名称字符之间有一个单引号。 我使用 TypeORM 作为 ORM,使用 POSTGRESQL 作为数据库。
我的查询:
import getConnection from 'typeorm';
const connection = getConnection();
var query = `SELECT * from skusimulations where "name"= ? `;
const output =await connection.query(query, ['SUPREME INT'L'])
执行此操作时出现错误,我想通过使用存储过程来转义单引号。
任何帮助将不胜感激。
【问题讨论】:
什么错误?您是指未能在文字中转义单引号,因为查询本身看起来已经在使用参数转义。 @RichardHuxton,是的,我确实使用存储过程来转义单引号。顺便说一句,我通过将“名称”存储在一个变量中并将该变量传递到替换数组中来解决它,另一个修改不是“?”将其更改为 1 美元。 【参考方案1】:已解决: 感谢您抽出宝贵时间回答我的问题,我真的很感激。 我通过参考 typeorm.io 文档更改了一些内容。 最后的改动:-
var name = "SUPREME INT'L" ;
var query = `SELECT * from skusimulations where "skuId"= $1 `;
var skuData =await connection.query(query, [name])
【讨论】:
以上是关于如何使用 TypeORM 为 postgres 数据库和 nodejs 使用参数化查询作为应用程序的后端服务器的主要内容,如果未能解决你的问题,请参考以下文章
我如何将 Postgres DateRange 类型与 TypeOrm 一起使用
使用 typeorm 在 postgres 中搜索数组中的项目
如何以正确的方式将@admin-bro/nestjs 与@admin-bro/typeorm 和postgres 一起使用?