phpbar.de logo

Mailinglisten-Archive

DELETE Problem mit zwei Tabellen

DELETE Problem mit zwei Tabellen

Andreas Kretschmer andreas.kretschmer at schollglas.com
Don Jun 5 11:53:12 CEST 2008


am  Thu, dem 05.06.2008, um 11:22:52 +0200 mailte Tobias Mueller-Wrana folgendes:
> Hallo liebe Liste,
> 
> Ich habe ein DELETE Problem, leider wir nicht nur zuviel sondern
> ALLES gelöscht.
> 
> Folgende Syntax:
> 
> delete TABELLE_1, TABELLE_2 from TABELLE_1, TABELLE_2
> where TABELLE_1.id = TABELLE_2.id and TABELLE.time <= DATE

Falsche Syntax, oder akzeptiert MySQL tatsächlich so einen Quatsch?
Da ist ja schon mal im WHERE eine bisher unbekannte Tabelle.
Aber nicht nur das ist flasch.

> 
> Eigentlich möchte damit nur Objekte löschen, die älter als
> DATE sind, doch leider löscht er alles aus TABELLE_1 und TABELLE_2.

test=# select * from tab_1;
 id | v
----+---
  1 | 1
  1 | 2
  1 | 3
  1 | 4
  2 | 1
  2 | 2
  2 | 3
(7 rows)

test=*# select * from tab_2;
 id
----
  1
  2
  3
(3 rows)

test=*# delete from tab_1 where (id,v) in (select tab_1.id, tab_1.v from
tab_1 inner join tab_2 on tab_1.id=tab_2.id where tab_1.v > 3);
DELETE 1
test=*# select * from tab_1;
 id | v
----+---
  1 | 1
  1 | 2
  1 | 3
  2 | 1
  2 | 2
  2 | 3
(6 rows)


Könnte ungefähr das sein, was Du da willst, oder?



Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net
_______________________________________________
Allgemeine Infos zur Liste: http://www.4t2.com/mysql/
Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de

php::bar PHP Wiki   -   Listenarchive