Ho due tabelle (srcTable1 & destTable) con schemi identici. Sto cercando di copiare tutte le righe da srcTable a destTable e di ignorare i duplicati. Ho pensato di aggiungere una clausola WHERE con una sottoquery che mi avrebbe dato solo le righe che non sono duplicate. Tuttavia, non sembra funzionare. Non ottengo nessuna riga inserita o selezionata.Copia righe da una tabella a un'altra, ignorando i duplicati
INSERT INTO destTable
SELECT * FROM srcTable
WHERE NOT EXISTS(SELECT * FROM destTable)
mi rendo conto che potrei fare qualcosa di simile:
INSERT INTO destTable
SELECT * FROM srcTable
WHERE MyKey IN (SELECT MyKey FROM destTable)
Tuttavia, le mie tabelle avere più chiavi e non posso pensare a come si potrebbe fare questo con più chiavi.
Qualche idea su cosa sto facendo male o hai qualche idea migliore?
si può essere un po 'più specifico su ciò che i duplicati si sono preoccupati. La preoccupazione relativa all'inserimento di righe dall'origine già presenti in dest, righe duplicate nell'origine o entrambe? – JohnFx
Stai usando mysql o mssql? –