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.