In MySQL I\'ve used LOAD DATA LOCAL INFILE
which works fine. At the end I get a message like:
Records: 460377 Deleted: 0 Skipped: 145280 Warnings
You could create a temp table removing the primary key items so that it allows duplications, and then insert the data.
Construct a SQL statement like
select count(column_with_duplicates) AS num_duplicates,column_with_duplicates
from table
group by column_with_duplicates
having num_duplicates > 1;
This will show you the rows with redundancies. Another way is to just dump out the rows that were actually inserted into the table, and run a file difference command against the original to see which ones weren't included.