J'essaye de créer une table appelée "Borrower" ou "Lånetagare" et je veux insérer la valeur de la table Lån avec l'ID à partir de là. Le résultat obtenu est NULL. Comment venir?La valeur de la clé étrangère MySQL est 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;
Vous n'insérez jamais Lan_ID dans votre deuxième instruction d'insertion, par conséquent le FK est nul car il ne vous est jamais assigné une valeur – Andrei
ce que vous pouvez faire est d'ajouter ceci dans votre deuxième instruction d'insertion afin qu'il comprenne ' insérer dans Lånetagare (Lån_ID) Values (LAST_INSERT_ID()) 'dans mysql qui va insérer le dernier auto_increment lire plus [ici] (https://dev.mysql.com/doc/refman/5.7/fr/information-functions.html # function_last-insert-id) – Andrei
https://stackoverflow.com/a/24423795/3404097 – philipxy