回答:
mysqlimportでは不可能ですが、代わりに次のことができます。
mysql --execute="LOAD DATA LOCAL INFILE '$WORKDIR/$table.csv' INTO TABLE $table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' IGNORE 1 LINES (listOfColumnNames); SHOW WARNINGS"
listOfColumnNames
適切な列のリストに置き換えます。
魔法は(前述のEduardのように)mysqlimportは警告を直接取得する方法を提供しないため、同じセッションでLOAD DATA INFILEコマンドとSHOW WARNINGSコマンドを一緒に実行することです。
tables.csv
は、ローカルファイル(つまり、データベースのサーバー上にないファイル)で機能しますか?
mysql -u root --execute="LOAD DATA LOCAL INFILE 'c:\\crp\\blah3.csv' INTO TABLE blah3 FIELDS TERMINATED BY ','; SHOW WARNINGS" whateverdbnameegcsv_db
関連する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;
述べたようにstackoverflow.com/questions/4957900/...
0
ため、コマンド出力を解析して、上記のスクリプトが作成されたときにインポートが成功したかどうかを確認する必要があることです(?)
mysqlimportで警告を出力する方法も見つかりませんでした。しかし、mysqlimportは「LOAD DATA INFILE」以外は何もしないので、mysqlコマンドを使用してデータをインポートし、その後に「SHOW WARNINGS」が続くのはなぜですか?