Der Martin: zusammenfassen mehrere (fast) gleiche Anweisungen beim Löschen (DELETE)

Beitrag lesen

Hallo Erik,

$statement = $pdo->prepare("DELETE FROM table_1  WHERE id =:id");	
$statement->execute(array('id' => $id));
$statement = $pdo->prepare("DELETE FROM table_2  WHERE id =:id");	
$statement->execute(array('id' => $id));
$statement = $pdo->prepare("DELETE FROM table_3  WHERE id =:id");	
$statement->execute(array('id' => $id));
$statement = $pdo->prepare("DELETE FROM table_4  WHERE id =:id");	
$statement->execute(array('id' => $id));
$statement = $pdo->prepare("DELETE FROM table_5  WHERE id =:id");
$statement->execute(array('id' => $id));	

wäre es nicht irgendwie möchliche die $statement->execute nur einmal auszuführen.

das wäre in der Tat schön, und die Idee drängt sich auf. Aber ein DELETE auf mehrere Tabellen in einem einzigen Statement gibt SQL meines Wissens nicht her.

Du könntest das höchstens in PHP als Schleife formulieren und den Tabellen-Namen im String jeweils dynamisch einbauen. Das sieht dann vielleicht etwas "ordentlicher" aus; im Hinblick auf Performance gewinnst du damit aber nichts. Es bleiben mehrere (im Beispiel fünf) SQL-Statements.

Live long and pros healthy,
 Martin

--
Paradox: Wieso heißen die Dinger Kühlkörper, obwohl sie höllisch heiß werden?