Guten Tag,
ich versuche gerade die SQL Programmierung zu lernen.
Ich habe noch nicht so viel erfahrung aber schreibe immer alle Befehle mit und erläutere für mich selber das Buch SQL Handbuch für Einsteiger (Paul Fuchs - 2021).
Bin jetzt ungefährt bei der hälfte und komme einfach nicht weiter.
Ich bin 1 zu 1 nach buch vorgegangen dennoch scheint es so als ob ich einen Fehler gemacht habe nur finde ich Ihn nicht.
TABLE 1
CREATE TABLE IF NOT EXISTS sportangebot(
sportangebot_id INT PRIMARY KEY AUTO_INCREMENT,
sportangebot_sportart VARCHAR(20) NOT NULL,
sportangebot_teilnehmer INT NOT NULL
);
INSERT INTO sportangebot (sportangebot_sportart, sportangebot_teilnehmer) VALUES
("Volleyball", 1),
("Volleyball", 3),
("Volleyball", 6),
("Volleyball", 7),
("Fußball", 3),
("Fußball", 5),
("Fußball", 8),
("Handball", 8);
------------------------------------------------------------------------------------------------------------------------------
TABLE 2
CREATE TABLE IF NOT EXISTS sportangebot2(
sportangebot_id INT PRIMARY KEY AUTO_INCREMENT,
sportangebot_sportart VARCHAR (29) NOT NULL,
sportangebot_teilnehmer INT NOT NULL,
FOREIGN KEY (sportangebot_teilnehmer) REFERENCES mitglieder (mitglieder_id)
);
SELECT * FROM sportangebot2;
INSERT INTO sportangebot2 (sportangebot_sportart, sportangebot_teilnehmer) VALUES
("Volleyball", 1),
("Volleyball", 3),
("Volleyball", 6),
("Volleyball", 7),
("Fußball", 3),
("Fußball", 5),
("Fußball", 8),
("Handball", 8);
------------------------------------------------------------------------------------------------------------------------------
Laut Buch kann ich in TABLE 2 werte einfügen obwohl noch keine vorhanden sind.
Da es eine untergeordnete Tabelle ist kann ich doch eig. keine werte einfügen wenn sie nicht schon bestehen sind oder?
TABLE 1
TABLE2
Kann mir bitte jmd sagen wieso ich immer wieder den ErrorCode -
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`vereindb`.`sportangebote2`, CONSTRAINT `sportangebote2_ibfk_1` FOREIGN KEY (`sportangebote_teilnehmer`) REFERENCES `mitglieder` (`mitglieder_id`)) 0.062 sec
mir ist schon bewusst dass in eine untergeordnete Tabelle die mit einem Fremndschlüssel gekennzeichnet ist keine werte eingefügt werden können wenn, sie nicht schon vorhanden sind.
Aber wieso funktioniert es dann im buch und bei mir nicht :'(
ich versuche gerade die SQL Programmierung zu lernen.
Ich habe noch nicht so viel erfahrung aber schreibe immer alle Befehle mit und erläutere für mich selber das Buch SQL Handbuch für Einsteiger (Paul Fuchs - 2021).
Bin jetzt ungefährt bei der hälfte und komme einfach nicht weiter.
Ich bin 1 zu 1 nach buch vorgegangen dennoch scheint es so als ob ich einen Fehler gemacht habe nur finde ich Ihn nicht.
![Unbenannt.PNG Unbenannt.PNG](https://www.datenbankforum.com/data/attachments/1/1784-c5288ec376bb7a8dd16a4317d3f3a49a.jpg?hash=xSiOw3a7eo)
TABLE 1
CREATE TABLE IF NOT EXISTS sportangebot(
sportangebot_id INT PRIMARY KEY AUTO_INCREMENT,
sportangebot_sportart VARCHAR(20) NOT NULL,
sportangebot_teilnehmer INT NOT NULL
);
INSERT INTO sportangebot (sportangebot_sportart, sportangebot_teilnehmer) VALUES
("Volleyball", 1),
("Volleyball", 3),
("Volleyball", 6),
("Volleyball", 7),
("Fußball", 3),
("Fußball", 5),
("Fußball", 8),
("Handball", 8);
------------------------------------------------------------------------------------------------------------------------------
TABLE 2
CREATE TABLE IF NOT EXISTS sportangebot2(
sportangebot_id INT PRIMARY KEY AUTO_INCREMENT,
sportangebot_sportart VARCHAR (29) NOT NULL,
sportangebot_teilnehmer INT NOT NULL,
FOREIGN KEY (sportangebot_teilnehmer) REFERENCES mitglieder (mitglieder_id)
);
SELECT * FROM sportangebot2;
INSERT INTO sportangebot2 (sportangebot_sportart, sportangebot_teilnehmer) VALUES
("Volleyball", 1),
("Volleyball", 3),
("Volleyball", 6),
("Volleyball", 7),
("Fußball", 3),
("Fußball", 5),
("Fußball", 8),
("Handball", 8);
------------------------------------------------------------------------------------------------------------------------------
Laut Buch kann ich in TABLE 2 werte einfügen obwohl noch keine vorhanden sind.
Da es eine untergeordnete Tabelle ist kann ich doch eig. keine werte einfügen wenn sie nicht schon bestehen sind oder?
TABLE 1
![20210826_094618.jpg 20210826_094618.jpg](https://www.datenbankforum.com/data/attachments/1/1782-97cc3215958fc946a854db5fe3f41a54.jpg?hash=l8wyFZWPyU)
TABLE2
![20210826_094522.jpg 20210826_094522.jpg](https://www.datenbankforum.com/data/attachments/1/1785-2c34fb3b2e421e32d1995ee0dddfadd1.jpg?hash=LDT7Oy5CHj)
Kann mir bitte jmd sagen wieso ich immer wieder den ErrorCode -
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`vereindb`.`sportangebote2`, CONSTRAINT `sportangebote2_ibfk_1` FOREIGN KEY (`sportangebote_teilnehmer`) REFERENCES `mitglieder` (`mitglieder_id`)) 0.062 sec
mir ist schon bewusst dass in eine untergeordnete Tabelle die mit einem Fremndschlüssel gekennzeichnet ist keine werte eingefügt werden können wenn, sie nicht schon vorhanden sind.
Aber wieso funktioniert es dann im buch und bei mir nicht :'(