Raiko: Error 1062 behandeln

Beitrag lesen

Du könntest die entsprechenden Datensätze von vornherein ausschließen:

AND NOT EXISTS(select * from Tabelle_A aa WHERE aa.spalte1 = b.spalte1 and aa.spalte2 == b.spalte2)

Ich habe mich jetzt dazu entschieden, Doppel aus der CopySource-Tabelle in eine Delete-Tabelle zu verschieben und auch Doppel bezogen auf die CopyDestination-Tabelle.

INSERT INTO tabelle_Del
( Spalte1,
Spalte2,
Spalte3
uid)
SELECT 
Spalte1,
Spalte2,
Spalte3
FROM tabelle_CopySource t
WHERE 
((Spalte1, Spalte2) 
IN 
(SELECT Spalte1, Spalte2
    FROM tabelle_CopySource
    GROUP BY Spalte1, Spalte2
    HAVING COUNT(*) > 1))
OR
(EXISTS
(select * from tabelle_CopyDest aa 
WHERE 
aa.Spalte1 = t.Spalte1 AND aa.Spalte2 = t.Spalte2)
)

Gibts irgendeinen Kniff, sie auch direkt aud der CopySource zu löschen oder muß ich dazu noch eine eigene Query machen?

Raik