Maison  >  Questions et réponses  >  le corps du texte

La contrainte de clé étrangère échoue sur le champ « id » dans Prisma

model Renting_Units {
  id              Int               @id @default(autoincrement())
  name            String            @unique(map: "name") @db.VarChar(255)
  description     String?           @db.VarChar(255)
  createdAt       DateTime          @default(now()) @db.DateTime(0)
  updatedAt       DateTime          @default(now()) @db.DateTime(0)
  User            Users             @relation(fields: [id], references: [id])
  created_by      Int
  Renting_Periods Renting_Periods[]
}


model Renting_Periods {
  id            Int           @id @default(autoincrement())
  product_id    Int           @db.Int
  Products      Products      @relation(fields: [product_id], references: [id], onUpdate: Cascade, onDelete: Cascade)
  start_date    DateTime      @db.DateTime(0)
  end_date      DateTime      @db.DateTime(0)
  createdAt     DateTime      @default(now()) @db.DateTime(0)
  updatedAt     DateTime      @default(now()) @db.DateTime(0)
  renting_unit  Int           @db.Int
  Renting_Units Renting_Units @relation(fields: [renting_unit], references: [id], onUpdate: Cascade, onDelete: Cascade)
  User          Users         @relation(fields: [id], references: [id])
  created_by    Int
  Invoices      Invoices[]
}

Je reçois une erreur d'identification de clé étrangère. J'ai ajouté quelques périodes de bail et après en avoir créé d'autres, j'obtiens cette erreur mais les identifiants sont auto-incrémentés. J'ai essayé différentes méthodes en ligne mais je n'ai pas trouvé de solution. Le problème est que cela s'est produit une fois aussi, mais j'ai actualisé la base de données et après un certain temps, cela s'est reproduit.

J'ai essayé d'insérer le code pour la nouvelle période de location :

await prisma.renting_Periods.create({
      data: {
        Products: {
          connect: {
            id: product_id,
          },
        },
        start_date,
        end_date,
        Renting_Units: {
          connect: {
            id: renting_unit_id,
          },
        },
        created_by: user_data.id,
      },
    });



The full erorr that displayed on the console:



→  74 await prisma.renting_Periods.create(
  Foreign key constraint failed on the field: `id`
    at RequestHandler.handleRequestError 
  clientVersion: '4.2.1',
  meta: { field_name: 'id' }

P粉023326773P粉023326773298 Il y a quelques jours360

répondre à tous(1)je répondrai

  • P粉041881924

    P粉0418819242023-12-27 09:23:24

    Vous essayez d'ajouter ProductRenting_Units 模型连接到 renting_Periods 模型,但您引用的 ID 并未引用ProductRenting_Units 模型。该 ID 可能指其他内容,但当您使用的 ID 对于您尝试执行的操作无效(在本例中连接 ProductRenting_Units ).

    répondre
    0
  • Annulerrépondre