Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Upload de arquivo CSV para lidar com atualização de status e inserção de novos registros


Existem dois cenários aqui:

  1. as colunas da tabela correspondem exatamente às colunas csv. nesse caso REPLACE é a resposta - é uma palavra-chave para o LOAD DATA INFILE veja entrada de documento

  2. 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 caso LOAD 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.