"Borrower"または "Lånetagare"というテーブルを作成しようとしていて、そこからIDを持つテーブルLånの値を挿入したいとします。私が得た結果はNULLです。どうして?MySQL外部キーの値がNULLです
create table Lån
(
Lån_ID INT auto_increment primary key,
Lånedatum DATETIME,
Inlämningsdatum DATETIME,
Omlån DATETIME
);
INSERT INTO Lån (Lånedatum, Inlämningsdatum, Omlån)
VALUES ('2017-09-12', '2017-09-15', '2017-09-15');
CREATE TABLE Lånetagare
(
Lånetagare_ID INT(10) auto_increment primary key,
Lösenord varchar(50),
Förnamn varchar(50),
Efternamn varchar(50),
Adress varchar (50),
Ort varchar(50),
Postnummer int(5),
Email varchar(50),
Telefonnummer int(20),
Lånekort int(50),
Lån_ID int(50),
FOREIGN KEY (Lån_ID) REFERENCES Lån(Lån_ID)
);
INSERT INTO Lånetagare (Lösenord, Förnamn, Efternamn, Adress, Ort, Postnummer, Email, Telefonnummer, Lånekort)
VALUES ('hej135', 'Victor', 'Chi', 'Blekingegatan 28', 'Stockholm', 11856, '[email protected]', 0704582235, 56);
SELECT * FROM Lånetagare;
あなたは2番目のinsert文にLan_IDを挿入しないので、決して値が割り当てられないので、FKはnullです。 – Andrei
これは、2番目のinsert文にこれを追加することです。最後のauto_incrementを挿入するmysqlのLånetagare(Lån_ID)値(LAST_INSERT_ID())に挿入してください。もっと読む[ここ](https://dev.mysql.com/doc/refman/5.7/en/information-functions.html #function_last-insert-id) – Andrei
https://stackoverflow.com/a/24423795/3404097 – philipxy