Prisma原生查询返回数字而非查询结果问题求助
解决Prisma原生查询返回数值而非查询结果的问题
你遇到的问题根源是用错了Prisma的原生查询方法:
$executeRaw仅适用于执行无结果集返回的SQL操作(比如INSERT、UPDATE、DELETE),它返回的是操作影响的行数,所以你得到的数值1代表查询匹配了1行,但该方法不会返回行数据本身。- 执行SELECT查询需要使用
$queryRaw,它专门用于获取查询结果集。
修改后的代码:
const jobs = await this.prisma.$queryRaw` SELECT name FROM jobs WHERE status = 'ACTIVE'`;
如果需要类型安全的返回结果,可以结合Prisma生成的类型:
import { Prisma } from '@prisma/client'; const jobs = await this.prisma.$queryRaw<Prisma.JobSelect[]>` SELECT name FROM jobs WHERE status = 'ACTIVE'`;
内容的提问来源于stack exchange,提问作者Brimstone
相关产品推荐
相关产品推荐

