Hallo Zusammen
Ich weiss mir nicht mehr zu helfen und hoffe, dass jemand von Euch die Antwort kennt. Und zwar erhalte ich die Fehlermeldung:
Fehler: 1452 - Cannot add or update a child row: a foreign key constraint fails (weiterbildung/modul, CONSTRAINT
modul_ibfk_1 FOREIGN KEY (idmodul) REFERENCES modulart (idmodulart) ON DELETE CASCADE ON
UPDATE CASCADE)
Ich arbeite mit Mysql 5.0.15. Die Fehlermeldung erscheint, wenn man bei der Kindtabelle eine Zeile mehr hinzufügen möchte als bei der Vatertabelle vorhanden ist.
Der Code sieht so aus, habe aber auch schon andere Testtabellen mit dem gleichen Phänomen erstellt:
Table „modul“ DDL
CREATE TABLE modul (
idmodul int(10) unsigned NOT NULL auto_increment,
modulnr varchar(10) default NULL,
modulbezeichnung varchar(40) default NULL,
fkmodulart int(10) default NULL,
fkfachrichtung int(10) default NULL,
fkunterrichtszeit int(10) default NULL,
PRIMARY KEY ( idmodul ),
CONSTRAINT modul_ibfk_1 FOREIGN KEY ( idmodul ) REFERENCES modulart ( idmodulart ) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT modul_ibfk_2 FOREIGN KEY ( idmodul ) REFERENCES fachrichtung ( idfachrichtung ) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT modul_ibfk_3 FOREIGN KEY ( idmodul ) REFERENCES unterrichtszeit ( idunterricht ) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;
Table „modulart“ DDL
CREATE TABLE modulart (
idmodulart int(10) unsigned NOT NULL auto_increment,
modulart varchar(40) default NULL,
PRIMARY KEY ( idmodulart )
) ENGINE=InnoDB;
Table „fachrichtung“ DDL
CREATE TABLE fachrichtung (
idfachrichtung int(10) unsigned NOT NULL auto_increment,
fachrichtung varchar(25) default NULL,
PRIMARY KEY ( idfachrichtung )
) ENGINE=InnoDB;
Table „unterrichtszeit“ DDL
CREATE TABLE unterrichtszeit (
idunterricht int(10) unsigned NOT NULL auto_increment,
unterrichtzeit varchar(20) default NULL,
bemerkungen varchar(50) default NULL,
PRIMARY KEY ( idunterricht )
) ENGINE=InnoDB;
Ich bin für jeden Hinweis sehr dankbar.
Carla