Para começar, não se trata de carregar dados do próprio MySQL, mas usando a ferramenta de linha de comando "mysqlimport".
Estou usando-o para carregar um CSV diretamente em uma tabela e preciso ver os avisos gerados. Não consigo receber avisos para exibir com detalhes ou depuração ativados. Alguma ideia?
(MySQL 5.0.5)
tables.csv
for um arquivo local (ou seja, não estiver no servidor do banco de dados)?mysql -u root --execute="LOAD DATA LOCAL INFILE 'c:\\crp\\blah3.csv' INTO TABLE blah3 FIELDS TERMINATED BY ','; SHOW WARNINGS" whateverdbnameegcsv_db
relacionado stackoverflow.com/questions/14127529/...mysql> LOAD DATA LOCAL INFILE 'c:\\crp\\blah5.csv' INTO TABLE blah5 CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; SHOW WARNINGS;
como mencionado stackoverflow.com/questions/4957900/…0
portanto, acho que você precisa analisar a saída do comando para verificar se a importação foi bem-sucedida quando o script acima foi escrito (?)Como os outros disseram, o verdadeiro problema é que, para que o SHOW WARNINGS funcione, você deve estar na mesma sessão conectada. O mysqlimport se desconecta da sessão assim que termina a importação, impossibilitando a captura de seus avisos na versão atual. Parece uma oportunidade de doar um patch. :)
fonte
Também não encontrei nenhuma maneira de imprimir avisos com o mysqlimport. Mas como o mysqlimport não faz nada além de "LOAD DATA INFILE", por que você não usa o comando mysql para importar os dados seguidos por um "SHOW WARNINGS"?
fonte