Lieber Linuchs,
Beim Löschen von einem Satz
termine.id
sollen auch 0..n Sätze mittermin_typ.termin_id
gelöscht weren.
Also löschst Du Termine in etwa dieser Art:
DELETE FROM `termine`
WHERE `termine`.`id`=:termin_id;
Und jetzt musst Du "aufräumen", damit damit zusammenhängende Daten auch aus der DB verschwinden:
DELETE FROM `termin_typ`
WHERE NOT EXISTS (
SELECT *
FROM `termine`
WHERE `termine`.`termin_typ`=`termin_typ`.`typ`
);
Keine Ahnung, wie Deine Tabellen genau aussehen, insbesondere welche Spaltennamen Du in welchen Tabellen hast. Aber Du wirst das Prinzip mit dem Sub-Select schon verstanden haben.
Liebe Grüße
Felix Riesterer