Existem dois cenários aqui:
-
as colunas da tabela correspondem exatamente às colunas csv. nesse casoREPLACE
é a resposta - é uma palavra-chave para oLOAD DATA INFILE
veja entrada de documento
-
as colunas da tabela não correspondem às colunas csv:REPLACE causaria conflito registros a serem removidos e reinseridos, removendo efetivamente os dados adicionais. Nesse casoLOAD DATA INFILE
não é eficaz por si só, você precisa de outra abordagem filtrando seu arquivo antes, fazendo atualizações via php ou algum outro método.
De qualquer forma, se você quiser adicionar mais "lógica" ao processo de importação, talvez
LOAD DATA INFIlE
não é realmente a abordagem correta, mas o uso de tabelas temporárias pode muito bem ser o benefício de todas as vantagens que os bancos de dados fornecem.