mysql frage zu foreign key -> on delete cascade
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
dank
eintrag
eintrages
empfehlen
hilfe
http
kopf
liegen
not
null
punkt
set
sinn
suche
support
tabelle
untertitel
url
zweck
-
Folgende 2 Tabellen habe ich erstelt:
CREATE TABLE XYZ_KOPF ( `ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `USER_NAME` VARCHAR(64) NOT NULL, ... ) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE XYZ_POSTEN ( `ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `KOPF_ID` INT(11) NOT NULL, ..., FOREIGN KEY ( `KOPF_ID` ) REFERENCES XYZ_KOPF ( `ID` ) ON DELETE CASCADE ) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Wenn ich nun einen Eintrag in der Kopf-Tabelle mit dem ID = 1 und n Einträge in der Postentabelle mit dem KOPF_ID = 1 habe , dann müsste doch beim Löschen des Kopf-Eintrages auch sämtliche entsprechenden Posteneinträge gelöscht werden. Korrekt?
Nur klappt das nicht. Woran kann das liegen bzw. woran liegts?
Danke! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
bdsg schrieb:
könnte das hier behilflich sein?
Folgende 2 Tabellen habe ich erstelt:
CREATE TABLE XYZ_KOPF ( `ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `USER_NAME` VARCHAR(64) NOT NULL, ... ) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE XYZ_POSTEN ( `ID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `KOPF_ID` INT(11) NOT NULL, ..., FOREIGN KEY ( `KOPF_ID` ) REFERENCES XYZ_KOPF ( `ID` ) ON DELETE CASCADE ) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Wenn ich nun einen Eintrag in der Kopf-Tabelle mit dem ID = 1 und n Einträge in der Postentabelle mit dem KOPF_ID = 1 habe , dann müsste doch beim Löschen des Kopf-Eintrages auch sämtliche entsprechenden Posteneinträge gelöscht werden. Korrekt?
Nur klappt das nicht. Woran kann das liegen bzw. woran liegts?
Danke! -
Achjo, nun wird klar.
In this article we examined how we could programmatically enforce foreign keys on storage engines which do not natively support them. This was done by the use of triggers.
Verwende ich also InnoDB anstatt MyISAM dann gehts sofort.
Beitrag zuletzt geändert: 18.12.2012 21:19:42 von bdsg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage