A
alnew
Guest
Hallo Leute,
ich sitze gerade an einer Datenbank Hausarbeit und habe die im Titel genannte Fehler Meldung. Ich habe mittlerweile bereits alle Beiträge dazu gelesen und ich dachte auch verstanden. Allerdings finde ich meinen eigenen Fehler nicht. Vielleicht auch vom zu langen drauf starren. Kann zufällig jemand helfen?
ERROR:
Error occurred during SQL script execution
Ursache:
SQL-Fehler [1452] [23000]: Cannot add or update a child row: a foreign key constraint fails (`ds140neal1020`.`Reperatur`, CONSTRAINT `Reperatur_ibfk_1` FOREIGN KEY (`MaschineID`) REFERENCES `Maschine` (`MaschineID`))
TABELLEN
-- Tabelle Maschine
CREATE table Maschine (
MaschineID int primary key,
Anschaffungsdatum date,
TypID int not null,
foreign key (TypID) references MaschineTyp (TypID)
);
-- Tabelle ReparaturTyp
CREATE table ReparaturTyp (
ReparaturTypID int primary key,
Bezeichnung VARCHAR(50)
);
-- N:M Beziehung
CREATE table Reparatur (
MaschineID int,
ReparaturTypID int,
foreign key (MaschineID) references Maschine (MaschineID) ,
foreign key (ReparaturTypID) references ReparaturTyp (ReparaturTypID),
Zeitstempel timestamp,
Kosten decimal(10,2),
primary key (MaschineID, ReparaturTypID, Zeitstempel, Kosten)
);
WERTE:
INSERT INTO Maschine (MaschineID, Anschaffungsdatum, TypID) VALUES
(1, "10.01.22", 1)
,(2, "15.03.22", 3)
,(3, "19.05.22", 2)
,(4, "19.05.22", 2)
,(5, "19.05.22", 4)
,(6, "24.08.22", 2)
;
INSERT INTO ReparaturTyp (ReparaturTypID, Bezeichnung) VALUES
(1, "Ölwechsel")
,(2, "Regelmäßige Wartung")
,(3, "Lagerschaden")
,(4, "Sonstige Reperaturen")
;
INSERT INTO Reparatur (MaschineID, ReparaturTypID, Zeitstempel, Kosten) VALUES
(1, 1, "18.01.22 14:50", 150),
(1, 2, "24.01.22 18:02", 320),
(1, 2, "31.08.22 19:04", 340),
(1, 4, "22.10.22 12:37", 6300),
(3, 1, "25.07.22 9:02", 140),
(3, 1, "30.10.22 19:40", 200),
(5, 1, "31.05.22 13:20", 220),
(6, 3, "19.11.22 14:52", 600),
(6, 3, "10.12.22 12:30", 650)
;
ich sitze gerade an einer Datenbank Hausarbeit und habe die im Titel genannte Fehler Meldung. Ich habe mittlerweile bereits alle Beiträge dazu gelesen und ich dachte auch verstanden. Allerdings finde ich meinen eigenen Fehler nicht. Vielleicht auch vom zu langen drauf starren. Kann zufällig jemand helfen?
ERROR:
Error occurred during SQL script execution
Ursache:
SQL-Fehler [1452] [23000]: Cannot add or update a child row: a foreign key constraint fails (`ds140neal1020`.`Reperatur`, CONSTRAINT `Reperatur_ibfk_1` FOREIGN KEY (`MaschineID`) REFERENCES `Maschine` (`MaschineID`))
TABELLEN
-- Tabelle Maschine
CREATE table Maschine (
MaschineID int primary key,
Anschaffungsdatum date,
TypID int not null,
foreign key (TypID) references MaschineTyp (TypID)
);
-- Tabelle ReparaturTyp
CREATE table ReparaturTyp (
ReparaturTypID int primary key,
Bezeichnung VARCHAR(50)
);
-- N:M Beziehung
CREATE table Reparatur (
MaschineID int,
ReparaturTypID int,
foreign key (MaschineID) references Maschine (MaschineID) ,
foreign key (ReparaturTypID) references ReparaturTyp (ReparaturTypID),
Zeitstempel timestamp,
Kosten decimal(10,2),
primary key (MaschineID, ReparaturTypID, Zeitstempel, Kosten)
);
WERTE:
INSERT INTO Maschine (MaschineID, Anschaffungsdatum, TypID) VALUES
(1, "10.01.22", 1)
,(2, "15.03.22", 3)
,(3, "19.05.22", 2)
,(4, "19.05.22", 2)
,(5, "19.05.22", 4)
,(6, "24.08.22", 2)
;
INSERT INTO ReparaturTyp (ReparaturTypID, Bezeichnung) VALUES
(1, "Ölwechsel")
,(2, "Regelmäßige Wartung")
,(3, "Lagerschaden")
,(4, "Sonstige Reperaturen")
;
INSERT INTO Reparatur (MaschineID, ReparaturTypID, Zeitstempel, Kosten) VALUES
(1, 1, "18.01.22 14:50", 150),
(1, 2, "24.01.22 18:02", 320),
(1, 2, "31.08.22 19:04", 340),
(1, 4, "22.10.22 12:37", 6300),
(3, 1, "25.07.22 9:02", 140),
(3, 1, "30.10.22 19:40", 200),
(5, 1, "31.05.22 13:20", 220),
(6, 3, "19.11.22 14:52", 600),
(6, 3, "10.12.22 12:30", 650)
;