| |||||||||||
Sa 04. November, 2006 18:45
habe eine einfach Frage:
Ich habe 2 Tabellen, die eine heißt 't1', die andere 't2'. Beide haben jeweils eine INT-spalte namens 'id'. Nun möchte ich aus 't1' alle Zeilen löschen, deren id-Wert in 't2' in keiner Zeile zu finden ist. Und das möglichst in _einem_ Query. Habe schon folgendes probiert: delete from t1 using t1, t2 where t1.id != t2.id; Aber bei diesem Query werden aus t1 _alle_ Zeilen gelöscht. Andere Vorschläge? Vielen Dank! Edit: Habe auch schon irgendwo gelesen, dass sich DELETE- und SELECT-Querys nicht kombinieren lassen. Andererseits müsste ich sehr aufwändige Querys ausführen lassen, nämlich: 1) select id from t1; 2) über foreach() in php _jede_ zeile in t1 abfragen: 3) select 1 from t2 where id = [AKTUELLE t1.id]; 4) wenn der Query aus 3) kein Ergebnis liefert, löschen: 5) delete from t1 where id = [AKTUELLE t1.id]; => Das wäre doch viel zu aufwändig und nimmt ohne Ende Zeit in Anspruch. Geht's nicht einfacher ? Warum willst Du den Post von dauercamper melden?C&M distanziert sich konkret und ausdrücklich vom Inhalt dieses Postings. Der Ersteller des Postings haftet für seine Äußerungen. Inhalte, die nicht den Forumsregeln entsprechen sind bitte vom Leser zu melden ... | |
Werbung Unterstützung in der Kommunikation mit Menschen, mit einer (geistigen) Behinderung. |
|
aleX
Admin Anm. Datum: 01.01.2001 Beiträge: 24877 Wohnort: Österreich Handy: Samsung Note 9 Slogan: Wer glaubt etwas zu sein, hat aufgehört etwas zu werden!
Sa 04. November, 2006 19:00
MYSQL >4.1
DELETE * FROM t1 WHERE id NOT IN (SELECT ID FROM t2) Versuche das mal Warum willst Du den Post von aleX melden?Der Mensch ist ein naiver Tourist mit einem abgelaufenem Visum für den Planeten Erde .. | |
...::: C&M - News :::... Foren-Übersicht » MySQL |
|
||
Kurze URL: |
Du hast bereits für diesen
Post angestimmt...
;-)
Posting wird gespeichert...
Alle Zeiten sind GMT + 1 Stunde
© by Ress Design Group, 2001 - 2023