Если вы загружаете при помощи LOAD DATA INFILE, тогда используйте LOAD DATA INFILE 'file_name' IGNORE - дубликаты будут проигнорированы.
Если через INSERT со множеством VALUES, тогда можно также использовать INSERT IGNORE.
Однако оба варианта подразуемевают увеличение AUTO_INCREMENT поля целевой таблицы (если есть) при неудачной попытке записи дубликата.
Для избежания этой проблемы можно загружать во временную таблицу, а затем делать примерно так:
INSERT INTO target_table (field1, field2)
SELECT field1, field2 FROM temporary_table WHERE not EXISTS(
select 1 from target_table where temporary_table.id = target_table.id
)