【发布时间】:2021-09-25 19:15:50
【问题描述】:
我将 Prisma 与 Postgres 一起使用。由于在基础表中使用了不受支持的 tsvector 类型,我需要将 $queryRaw 用于特定查询。在此查询中,我还需要使用“in”语句,其中“in”列表中的项目需要参数化。我已经尝试过这个
const ids = [41, 55]
const result = await prisma.$queryRaw`select * from users where id in (${ids})`;
但我得到内核恐慌
PANIC in /root/.cargo/git/checkouts/rust-postgres-dc0fca9be721a90f/8a61d46/postgres-types/src/lib.rs:762:18 expected array type
我也试过这个...
const result = await prisma.$queryRaw`select * from users where id in (${ids.join(',')})`;
但是我得到了这个错误......
Raw query failed. Code: `22P03`. Message: `db error: ERROR: incorrect binary data format in bind parameter 1`
我认为 prisma 使用的 sql-template-tag 库有一种支持它的方式,所以在安装和导入它之后,我尝试了这个..
const result = await prisma.$queryRaw`select * from users where id in (${join(ids)})`;
但这会引发同样的错误。
任何想法我可以如何实现这一目标?
【问题讨论】:
标签: postgresql prisma