Вы можете использовать loaddata для загрузки строки в таблицу 'temp', тогда
INSERT INTO targetTable (firstField, ...set of columns...)
SELECT DISTINCT firstField, ...set of columns...
FROM temp
WHERE firstField NOT IN (SELECT firstField FROM target);
Требуется: firstField -> набор столбцов (функциональная зависимость)
Или вы можете использовать INSERT with IGNORE (без ошибок при дублировании):
INSERT IGNORE INTO targetTable (firstField, ...set of columns...)
SELECT DISTINCT firstField, ...set of columns...
FROM temp;
или как схемы таблиц одинаковы:
INSERT IGNORE INTO targetTable
SELECT *
FROM temp;