foreign key constraint fails
- From: Guido Schmidt <versatelnews@xxxxxxxx>
- Date: Wed, 01 Mar 2006 14:49:38 +0100
Hallo,
folgende Tabellenstruktur (InnoDB)
Tabelle kunden
kdnr | name
12 | Paul
18 | Max
Tabelle produkte
prod_id | artikelname
17 | tasse
20 | maus
11 | haus
15 | katze
Tabelle favoritenlisten:
fali_id | kdnr | fali_name
1 | 12 | hurz
2 | 12 | purz
3 | 18 | foo
FOREIGN KEY (`kdnr`) REFERENCES `kunden` (`kdnr`) ON UPDATE CASCADE,
FOREIGN KEY (`kdnr`) REFERENCES `kunden` (`kdnr`) ON DELETE CASCADE
Tabelle favoritenlisten_produkte:
fali_id | prod_id
1 | 17
1 | 20
1 | 11
2 | 15
FOREIGN KEY (`fali_id`) REFERENCES `favoritenlisten` (`fali_id`) ON UPDATE CASCADE,
FOREIGN KEY (`fali_id`) REFERENCES `favoritenlisten` (`fali_id`) ON DELETE CASCADE
FOREIGN KEY (`prod_id`) REFERENCES `produkte` (`prod_id`) ON UPDATE CASCADE,
FOREIGN KEY (`prod_id`) REFERENCES `produkte` (`prod_id`) ON DELETE CASCADE
Folgendes Statement
DELETE FROM favoritenlisten WHERE kdnr = 12 AND fali_id = 1
sollte nun den Datensatz in favoritenlisten löschen und die 3 dazugehörigen Datensätze in favoritenliste_produkte. Ich ernte mit MySQL 4.0.25 aber immer nur ein "1217 - Cannot delete or update a parent row: a foreign key constraint fails".
Im Manual heißt es zu dem Fehlercode "You are trying to delete a parent row that has children, and a foreign key constraint fails. You should delete the children first." Es ist ja nicht der Sinn von Foreign Keys, dann doch wieder applikationsseitig für konsistente Daten sorgen zu müssen. Wo könnte die Ursache liegen?
Danke
Guido
.
- Follow-Ups:
- Re: foreign key constraint fails
- From: Axel Schwenke
- Re: foreign key constraint fails
- Prev by Date: Re: =?iso-8859-1?q?2_unabhängige_Abfragen_in_einer_Datei_erstellen.?
- Next by Date: Re: foreign key constraint fails
- Previous by thread: Re: =?iso-8859-1?q?2_unabhängige_Abfragen_in_einer_Datei_erstellen.?
- Next by thread: Re: foreign key constraint fails
- Index(es):
Relevant Pages
|
Loading