Daten aus 2 Tabellen gleichzeitig löschen?! |
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
Moinsen,
habt ihr ne Idee, wie ich Daten gleichzeitig aus 2 Tabellen löschen kann?
Das ganze sollte dann meines Erachtens nach so aussehen, geht aber nicht:
1: | DELETE FROM tabelle1, tabelle2 WHERE foo=bar |
Soll angeblich ab Version 4 bei MySQL möglich sein, habe aber noch nichts darüber gefunden.
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Gibts ne Fehlermeldung, außer dass für vernünftige Syntax einige Anführungszeichen fehlen?
|
 Profil
Editieren
Zitieren
|
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
Das das nicht funktioniert, weiß ich ja auch schon, habe ich ja schon ausprobiert.
Ich möchte halt wissen, wie es funktioniert bzw. ob es das tut.
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|
KeyLF
Forenheld
Beiträge: 866 |
brauchst doch nur die 2 Abfragen hinternander machen!
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ja aber gibt er denn ne Fehlermeldung aus oder was tut er???
|
 Profil
Editieren
Zitieren
|
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
KeyLF schrieb am 22.01.2004 11:56
brauchst doch nur die 2 Abfragen hinternander machen! |
Das habe ich als Übergangslösung auch gemacht, mich würde es trotzdem mal interessieren ob und wie es möglich ist.
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
antworte dem languitar mal - ich will das gleiche wissen...
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
languitar schrieb am 22.01.2004 12:32
Ja aber gibt er denn ne Fehlermeldung aus oder was tut er??? |
Ja macht er:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12: | Fehler
SQL-Befehl :
DELETE FROM `submenu` ,
`files` WHERE subID = 25
MySQL meldet:
You have an error in your SQL syntax near '
`files` WHERE subID = 25' at line 1 |
Ich habe es auch schon mit diversen anderen Kombinationen versucht, ging aber alles nicht.
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
Diese Nachricht wurde geändert von: bastir |
 Profil
Website
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
poste bitte einmal das komplette sql-query, der fehler liegt scheints wo anders.
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
das ist doch das komplette query.
Ich dachte, mann könnte damit auch gleich in 2 Tabellen (submenu, files) Daten löschen die mit der Bedingung übeeinstimmen.
Wäre doch praktischer, als 2 queries hintereinander.
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1502 |
1:
2: | DELETE FROM `submenu` ,
`files` WHERE subID = '25' |
?
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
stalkerX
Mausakrobat
Beiträge: 183 |
Ein Blick in die Doku hilft meistens: 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.
Das .*-Zeichen nach den Tabellennamen ist nur aus Gründen der Kompatibilität mit Access vorhanden:
DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
In diesem Fall werden übereinstimmende Zeilen nur aus den Tabellen t1 und t2 gelöscht. |
---
.: Web 2.0 Entwickler & seine Notizen :.
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
ansonsten pack subID vielleicht auch mal in die Accents.
|
 Profil
Editieren
Zitieren
|
bastir
Mausakrobat Threadstarter
Beiträge: 150 |
Danke Leute,
das werde ich am montag dann gleich mal ausprobieren!
Schönen sonntag noch!
---
Man kann nicht alles wissen, man muß nur wissen wo es steht!
|
 Profil
Website
Editieren
Zitieren
|