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' }
您正在尝试将
Product
或Renting_Units
模型连接到renting_Periods
模型,但您引用的 ID 并未引用Product
或Renting_Units
模型。该 ID 可能指其他内容,但当您使用的 ID 对于您尝试执行的操作无效(在本例中连接Product
或Renting_Units
)。