MySQL InnoDB, ausgeschaltete Fremdschlüssel wieder einschalten

jeipack

Erfahrenes Mitglied
Hi
Ich habe eine Datenbank bei der die Fremdschlüssel nicht eingeschaltet sind. Nun möchte ich die Fremdschlüssel wieder einschalten und zwar so, dass die Datensätze mit einem Fremdschlüssel auf einen anderen Datensatz der nicht mehr existiert je nach dem gelöscht (falls ON DELETE CASCADE drin ist) resp. der Fremdschlüssel auf NULL gesetzt wird (falls ON DELETE SET NULL drin ist).

Ist sowas einfach möglich?

Um es zu verdeutlichen ein kleines Beispiel:
Mastertabelle
Code:
id	text
1	blah
2	blub
3	blib
Slavetabelle
Code:
id	text		fs_master
1	blah		1
2	blub		2
3	blib		3
4	crap		4
fs_master hat einen Fremdschlüssel auf id von der Mastertabelle mit der Einstellung: ON DELETE CASCADE.
Wenn ich die Fremdschlüssel wieder einstelle will ich also, dass der Datensatz aus der Slavetabelle mit der id=4 gelöscht wird (Weil sein Fremdschlüssel nicht existiert).

Hoffe ihr habt verstanden worauf ich hinaus will.
Nun meine Frage wie stell ich das am besten an?

Gruss und Danke schonmal
jeipack
 
Zuletzt bearbeitet:
Zurück