Mailinglisten-Archive |
> Ist es möglich innerhalb einer Anweisung, ein DELETE über mehrere > tabellen zu machen ? > > Also "DELETE FROM t1,t2,t3 WHERE ..." funktioniert schon mal nicht, > deswegen meine Frage ob es dafür vielleicht eine Funktion gibt, oder ob > es von der Syntax her einfach nur anders zu formulieren ist als die > obige Anweisung. > > Zum Verständnis: > Ich möchte nicht ganze Tabellen leeren, sondern nur bestimmte Einträge > die den selben schlüssel haben entfernen. Steht dir eine Programmiersprache (wie PHP) zur Verfügung? Denn dann kannst du die ganzen Schlüssel in ein Array packen, und daraus eine Menge bilden und dann für jede Tabelle ein Statement bauen: <?php $my_set=array(); // leeren while ($key=sonst_was()) { $my_set[]=$key; } $my_set=implode(", ",$my_keys); $to_do=array ( "tbl_kunden"=>"kunden_key", "tbl_kunde_firma"=>"kunden_id" ); while (list($mytable,$mykey)=each($to_do)) { $statement="delete from $mytable where $my_field in ($my_set)"; } ?> Ist sehr spaßig, oder? ;) P. Bierans -- Patrick Bierans - LYNET Kommunikation AG - http://www.lynet.de Das Internet-Systemhaus fuer Multimedia- und Netzwerkloesungen Zentrale Luebeck Fon +49-451-6131-0, Fax +49-451-6131-333 Niederlassung Hamburg Fon +49-40-65738-0, Fax +49-40-65738-333 --- !!NEU!! Fragen und Antworten zu MySQL und dieser Liste unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive