Kekangan kunci asing gagal: tidak boleh menambah atau mengemas kini baris anak (Ralat 1452)
P粉155551728
P粉155551728 2023-10-08 23:40:09
0
1
817

Saya mencipta jadual dalam MySQL Workbench seperti yang ditunjukkan di bawah:

ORDRE jadual:

CREATE TABLE Ordre (
  OrdreID   INT NOT NULL,
  OrdreDato DATE DEFAULT NULL,
  KundeID   INT  DEFAULT NULL,
  CONSTRAINT Ordre_pk PRIMARY KEY (OrdreID),
  CONSTRAINT Ordre_fk FOREIGN KEY (KundeID) REFERENCES Kunde (KundeID)
)
  ENGINE = InnoDB;

Senarai Produk:

CREATE TABLE Produkt (
  ProduktID          INT NOT NULL,
  ProduktBeskrivelse VARCHAR(100) DEFAULT NULL,
  ProduktFarge       VARCHAR(20)  DEFAULT NULL,
  Enhetpris          INT          DEFAULT NULL,
  CONSTRAINT Produkt_pk PRIMARY KEY (ProduktID)
)
  ENGINE = InnoDB;

dan ORDRELINJE jadual:

CREATE TABLE Ordrelinje (
  Ordre         INT NOT NULL,
  Produkt       INT NOT NULL,
  AntallBestilt INT DEFAULT NULL,
  CONSTRAINT Ordrelinje_pk PRIMARY KEY (Ordre, Produkt),
  CONSTRAINT Ordrelinje_fk FOREIGN KEY (Ordre) REFERENCES Ordre (OrdreID),
  CONSTRAINT Ordrelinje_fk1 FOREIGN KEY (Produkt) REFERENCES Produkt (ProduktID)
)
  ENGINE = InnoDB;

Jadi apabila saya cuba memasukkan nilai ke dalam jadual ORDRELINJE saya mendapat:

Kod ralat: 1452. Tidak dapat menambah atau mengemas kini baris anak: kekangan kunci asing gagal (srdjank.Ordrelinje,约束 Ordrelinje_fk 外键 (Ordre) 参考 Ord re (OrdreID) )

Saya telah melihat siaran lain mengenai topik ini tetapi tidak berjaya. Adakah saya mengawasi sesuatu atau tahu apa yang perlu dilakukan?

P粉155551728
P粉155551728

membalas semua(1)
P粉410239819

Diambil daripada Menggunakan Kekangan Utama Asing一个>

Oleh itu ralat anda 错误代码:1452。无法添加或更新子行:外键约束失败本质上意味着,您正在尝试向Ordrelinje添加一行 Ordre Baris yang sepadan (OrderID) tidak wujud dalam kod> jadual.

Anda mesti memasukkan baris dahulu ke dalam jadual Ordre.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan