Heim  >  Fragen und Antworten  >  Hauptteil

Die Fremdschlüsseleinschränkung schlägt für das Feld „id“ in Prisma fehl

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[]
}

Ich erhalte einen Fremdschlüssel-ID-Fehler. Ich habe einige Lease-Zeiträume hinzugefügt und nachdem ich weitere erstellt habe, erhalte ich diese Fehlermeldung, aber die IDs werden automatisch erhöht. Ich habe online verschiedene Methoden ausprobiert, aber keine Lösung gefunden. Das Problem ist, dass es auch einmal passiert ist, aber ich habe die Datenbank aktualisiert und nach einiger Zeit ist es wieder passiert.

Ich habe versucht, den Code für die neue Mietdauer einzugeben:

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 Tage vor367

Antworte allen(1)Ich werde antworten

  • P粉041881924

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

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

    Antwort
    0
  • StornierenAntwort