Datensätze aus mehreren tabellen gleichzeitig löschen

kesnw

Erfahrenes Mitglied
Hi,

warum geht das nicht?

PHP:
$update="delete from vendors v, information i, points p where p.owner = 'name' AND p.L_ID=v.L_ID AND p.L_ID=i.L_ID";
mysql_query($update) or die ("Error in query: $update. " . mysql_error());;

Fehlermeldung:

Error in query: delete from vendors v, information i, points p where p.owner = 'name' AND p.L_ID=v.L_ID AND p.L_ID=i.L_ID. You have an error in your SQL syntax near 'v, information i, points p where p.owner = 'name' AND p.L_ID=v.L_ID AND p.L_' at line 1
 
Schon mal mit:
PHP:
$update = "
DELETE FROM
        `vendors` AS `v`,
        `information` AS `i`,
        `points` AS `p`
  WHERE
        p.owner = 'name'
    AND p.L_ID = v.L_ID
    AND p.L_ID = i.L_ID
"; 
mysql_query($update) or die("Error in query: $update. " . mysql_error());
versucht?
 
PHP:
$update = "DELETE vendors, information, points FROM vendors, information, points WHERE points.owner = 'name' AND points.L_ID = vendors.L_ID AND points.L_ID = information.L_ID"; 
mysql_query($update) or die ("Error in query: $update. " . mysql_error());
klappt das?
 
Damit lösch ich sicher nicht alles Sind wichtige daten...

Bei obiger lösung folgende Fehlermeldung:

Error in query: delete from 'vendors' AS 'v', 'information' AS 'i', 'points' AS 'p' where p.owner = 'schoeneg' AND p.L_ID=v.L_ID AND p.L_ID=i.L_ID. You have an error in your SQL syntax near ''vendors' AS 'v', 'information' AS 'i', 'points' AS 'p' where p.owner = 'schoene' at line 1
 
Original geschrieben von Thomas Darimont
Man kann mit DELETE und INSERT Statements immernur EINE Tabelle bearbeiten nicht mehrere gleichzeitig.
Zitat:
Das Multi-Tabellen-Löschformat wird ab MySQL 4.0.0 unterstützt.

Die Idee ist, dass nur übereinstimmende Zeilen aus den Tabellen, die VOR der FROM-Klausel stehen, gelöscht werden. Die Auswirkung ist, dass Sie Zeilen aus vielen Tabellen zugleich löschen können, sowie dass zusätzliche Tabellen zum Suchen benutzt werden.


http://www.mysql.de/doc/de/DELETE.html

Sollte dann eigentlich funktionieren oder? Gut, ich war mir jetzt selbst nicht sicher ;)
 
Zurück