xan*_*der 25 javascript sql node.js prisma prisma2
如何使用一个查询在 prisma ORM 中更新插入多个字段?
我不想一一使用 upsert 字段。我可以通过一个查询更新插入所有这些内容吗?
Dan*_*ila 19
您现在无法在 Prisma 中执行此操作。有createMany,updateMany而且deleteMany,但是没有upsertMany。(文档)
如果您需要处理大量数据,最有效的方法可能是这样的:
prisma.$transaction([
prisma.posts.deleteMany({ where: { userId: 1 } }),
prisma.posts.createMany({
{ id: 1, title: 'first', userId: 1 },
{ id: 2, title: 'second', userId: 1 },
{ id: 3, title: 'third', userId: 1 },
}),
]);
Run Code Online (Sandbox Code Playgroud)
因此,您删除现有记录,然后在事务内再次重新创建它们。
根据您使用的数据库(和架构),Prisma 支持 createMany 调用中的可选布尔值:skipDuplicates,请参阅https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#createmany
不要插入具有唯一字段或已存在的 ID 字段的记录。仅受支持 ON CONFLICT DO NOTHING 的数据库支持。
| 归档时间: |
|
| 查看次数: |
19368 次 |
| 最近记录: |