Datensätze löschen (DELETE-Statement)

Eine Schülerin verschafft sich Zugang zum Schulnetz und löscht alle 6'er ;-)

DELETE FROM note 
WHERE wert = 6

Die Anweisung löscht alle Datensätze der Tabelle note, die der Bedingung wert = 6 genügen.

DELETE FROM klasse 
WHERE name = '5a'

Schickt man diese Anweisung zur Datenbank, so meldet sie folgenden Fehler:

Foreign key constraint failed.

Das liegt daran, dass es in der Tabelle schuelerin noch Datensätze gibt, die in der Spalte klasse_id den Primärschlüsselwert des Datensatzes eingetragen haben, den man löschen möchte. Um Inkonsistenzen zu verhindern, verweigert die Datenbank daher die Ausführung dieser Anweisung.

Datenbank zum Ausprobieren