0 Pluspunkte 0 Minuspunkte

Ich habe eine Datenbank mit 2 Tabellen, 1 für User und 1 für Nachrichten. Wie kann ich einstellen dass wenn ich einen User lösche automatisch alle verknüpften Nachrichten gelöscht werden?

Tabelle User

  • id
  • name

Tabelle Messages

  • id
  • sender (Referenz auf user.id)
  • receiver (Referenz auf user.id)
  • content
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Um sicherzustellen, dass beim Löschen eines Benutzers automatisch alle zugehörigen Nachrichten gelöscht werden, kannst du den sogenannten "Foreign Key Constraint" verwenden. Dies ist eine Funktion in den meisten relationalen Datenbankmanagementsystemen, die sicherstellt, dass Beziehungen zwischen Tabellen beibehalten werden und bestimmte Aktionen ausgeführt werden, wenn eine Beziehung betroffen ist.

ALTER TABLE Messages
ADD CONSTRAINT cascade_on_user_delete
FOREIGN KEY (sender) REFERENCES user(id)
ON DELETE CASCADE
von