You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Prisma ORM创建Bug时触发Bug_authorId_key唯一约束失败

解决Prisma创建Bug时的唯一约束错误

错误原因

报错Unique constraint failed on the constraint: Bug_authorId_key,是因为你的数据库Bug表的authorId字段被设置了唯一约束,但业务逻辑中一个用户应该能提交多个Bug,这个约束和需求冲突。

解决步骤

1. 确认Prisma Schema正确性

检查你的Bug模型定义,确保authorId字段没有添加@unique修饰符(你的当前Schema已经符合要求):

model Bug {
  id Int @id @default(autoincrement())
  title String
  description String
  status String
  authorId Int
  author User @relation(fields: [authorId], references: [id])
}

2. 生成并应用数据库迁移

通过Prisma迁移移除authorId的唯一约束:

npx prisma migrate dev --name remove-authorId-unique-constraint

执行该命令后,Prisma会自动生成迁移文件并将变更同步到你的MySQL数据库。

备选方案:手动修改数据库

如果不想用迁移,也可以直接在MySQL中执行SQL删除唯一约束:

ALTER TABLE Bug DROP INDEX Bug_authorId_key;

验证代码

你的Bug创建代码逻辑是正确的,无需修改:

const bug = await prisma.bug.create({
    data: {
      title: req.body.title,
      status: req.body.status,
      description: req.body.description,
      author: {
        connect: {id: req.body.authorId}
      }
    }
  })

内容的提问来源于stack exchange,提问作者Niwau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:50:26