2 messages in com.mysql.lists.mysql-deRe: DELETE Frage
FromSent OnAttachments
ThE...@cK13 Jan 2004 09:12 
Rene Fertig13 Jan 2004 10:19 
Subject:Re: DELETE Frage
From:Rene Fertig (re@renux.de)
Date:01/13/2004 10:19:34 AM
List:com.mysql.lists.mysql-de

Hallo Andreas.

Am Dienstag, 13. Januar 2004 18:12 schrieb ThE H@cK:

habe folgende Situation:

Tab1 id_tab1 | id_2

Tab2 id_tab2 | id_tab1

ich möchte nun alle Einträge aus Tab2 löschen, deren id_tab1 einer bestimmten id_2 zugehören.

Probiert habe ich folgendes, hat aber leider nicht geklappt:

DELETE FROM Tab2 WHERE Tab2.id_tab1 = Tab1.id_tab1 AND Tab1.id_2 = 2

Ein Bick in das MySQL-Manual zeigt dem, der lesen kann, die folgende Möglichkeit auf:

DELETE [LOW_PRIORITY] [QUICK] table_name[.*] [, table_name[.*] ...] FROM table-references [WHERE where_definition]

Also müsste die Query

DELETE Tab2 FROM Tab2 LEFT JOIN Tab2 ON Tab2.id_tab1 = Tab1.id_tab1 WHERE Tab1.id_2 = 2

Das tun, was du möchtest. Aber erst ab MySQL 4.0.0!!

Tipp: immer erst eine funktionierende SELECT-Query bauen und daraus dann die DELETE-Query. Schützt auch davor, das Falsche oder zuviel zu löschen.

Ciao, René

----------------------------------------------------------------------