gpt4 book ai didi

mysql - Prisma 删除与 Composite Key 的多对多关系

转载 作者:行者123 更新时间:2023-12-05 08:36:31 27 4
gpt4 key购买 nike

我这里有这个模式:

model label {
title String @id @db.VarChar(16)
color String @db.VarChar(16)
labelplaylist labelplaylist[]
}

model labelplaylist {
playlistId Int
labelId String @db.VarChar(16)
label label @relation(fields: [labelId], references: [title])
playlist playlist @relation(fields: [playlistId], references: [id])

@@id([playlistId, labelId])
@@index([labelId], name: "labelId")
}

model playlist {
id Int @id @default(autoincrement())
createdAt DateTime? @default(now()) @db.DateTime(0)
title String @db.VarChar(100)
labelplaylist labelplaylist[]

@@index([userId], name: "userId")
}

我只想删除标签和播放列表之间的关系。我试过这样做:

const deleteRelation = await prisma.labelplaylist.delete({
where: {
playlistId_labelId:
},
})

我有label和playlist表的主键,但是不知道主键是怎么得到的=> playlistId_labelId。

感谢您的帮助。

最佳答案

这是复合键查询的语法

    const deleteRelation = await prisma.labelplaylist.delete({
where: {
playlistId_labelId: {
playlistId: playListIdVariable, //replace with appropriate variable
labelId: labelIdVariable, //replace with appropriate variable
},
},
});

您可以在 CRUD Reference Guide通过化合物 ID 或化合物唯一标识符获取记录 小节中阅读更多信息在 Prisma 文档中。此引用显示读取数据,但 where 条件对于删除和更新也是类似的。

关于mysql - Prisma 删除与 Composite Key 的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68670004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com