heinetz: Delete über mehrere Tabellen

Beitrag lesen

Hi,

ich hab es nun so hinbekommen:

  
DELETE  
p.*,  
pe.*  
FROM `produkte` AS p  
LEFT JOIN `produkte_eigenschaften`  
AS pe ON p.`id` = pe.`produkt_id`  
WHERE (  
p.`id` = pe.`produkt_id` AND p.`id` = 10)  
OR p.`id` = 10  
);  

Um in produkte den Datensatz mit der id=1 und in
produkte\_eigenschaften mit produkt\_id=1 gleichzeitig
zu löschen funktioniert folgendes SQL-Statement:

DELETE produkte, produkte_eigenschaften FROM produkte, produkte_eigenschaften
WHERE produkte.id = produkte_eigenschaften.produkt_id
AND produkte.id = 2


>   
> das ist, vorsichtig formuliert, Unsinn und sollte einen Syntaxfehler produzieren.  
  
... tut es aber nicht, sonst hätte ich nicht behauptet.  
Da mir diese Notation auch nicht bekannt war, wäre ich  
auch nicht darauf gekommen, wenn ich es nicht [hier](http://dev.mysql.com/doc/refman/5.0/en/delete.html)  
gelesen hätte.  
  
gruesse,  
heinetz