MySQLi - id des gelöschten Objekts / Constraints manuell nachbilden

Trash

Erfahrenes Mitglied
Hallo,
ich habe an einem kleinen Projekt und mit der InnoDB-Engine lokal gearbeitet. Deswegen habe ich Relations angelegt, die z.B beim Löschen eines Users greifen.

Nun habe ich festgestellt, dass der Webserver auf dem das Gänze laufen soll kein InnoDB unterstützt. Deswegen muss ich die Delete-Cascaden manuell nachstellen.

Wenn ich z.B in der Datenbanktabelle 'message_thread' eine user_id stehen habe, ist es relativ einfach das die Threads des Users gelöscht werden, wenn der User gelöscht wird. Nun gibt es eine 'message_relations' Tabelle, die die Threads mit Messages verbindet. In der Relation-Tabelle finde ich also keine User-ID. Muss ich vorher alle Threads des Users auslesen, das Ergebnis iterieren (um auf die Relation-ID zuzugreifen) um dabei jeden einzelnen Eintrag zu löschen oder gibt es eine andere Möglichkeit, wie z.B das man ein bestimmtes Feld des letzten gelöschten Eintrags über eine Funktion zurückgemeldet bekommt? Also quasi so etwas wie $mysqli->insert_id nur eben angewandt auf DELETE mit der evtl Angabe welche Information des gelöschten Elements ich brauche?

Wie löst man dies elegant?

Danke!
 
Sehe ich es richtig, dass man keine Möglichkeit hat bei einer Tabelle einen Trigger anzulegen, der beim DELETE greift und einen zweiten der beim UPDATE greift?
 

Neue Beiträge

Zurück