Arbeiten mit der Datenbank in Drupal 7 – Lektion 10 – Löschabfragen (DELETE)
Löschabfragen sollten mit dem Query-Builder durchgeführt werden. Sie beginnen mit der Funktion db_delete()
:
<?php $query = db_delete('node', $options); ?>
Diese Löschabfrage entfernt Einträge aus der Tabelle node
. Beachten Sie, dass der Tabellenname nicht in geschweifte Klammern gesetzt werden muss, der Query-Builder erledigt das automatisch. Löschabfragen verwenden Fluent API, das heißt alle Methoden (außer execute()
) geben das Abfrageobjekt selbst zurück – ähnlich wie bei Update- und Insert-Abfragen.
Löschabfragen sind sehr einfach und nutzen nur WHERE-Bedingungen. Über WHERE sprechen wir in einem der nächsten Tutorials, hier ein Beispiel einer Löschabfrage:
<?php $num_deleted = db_delete('node') ->condition('nid', 5) ->execute(); ?>
Diese Abfrage löscht alle Zeilen in der Tabelle node
, bei denen nid = 5
ist.
Diese Abfrage entspricht folgendem SQL:
DELETE FROM {node} WHERE nid=5;
Die Methode execute()
gibt die Anzahl der gelöschten Datensätze zurück.