Quero carregar um arquivo csv no banco de dados MySQL. Este arquivo contém alguns campos na formatação de campos Postgres, por exemplo, booleano é 't'. No banco de dados MySQL, esses campos têm o tipo TINYINT(1) como seu booleano também. Então, o que eu quero fazer é converter o 't' do Postgres em 1 imediatamente, enquanto executo a instrução LOAD DATA INFILE.
Existe uma maneira de fazer isso ou preciso pré-processar o arquivo antes de poder usá-lo dentro do sql? Os arquivos que preciso processar são um pouco grandes, então quero evitar operações de arquivo adicionais neles.
LOAD DATA
INFILE '/load-data/photos.txt'
INTO TABLE photos
FIELDS TERMINATED BY '\t';
Carregue essa coluna em uma variável de usuário e então você poderá processá-la na
SET
cláusula para obter o valor desejado.Então você lista todas as colunas que devem ser escritas diretamente do arquivo CSV e usa variáveis de usuário para
@boolean_col
processar outras colunas e obter o valor real da coluna.