Mailinglisten-Archive |
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