• 締切済み

mysqlのloadコマンドに引数をセットするバッチの作成

mysqlのloadコマンドに引数をセットするバッチの作成 データ移行でロードするファイルが数多くあり バッチ処理(param.bat)で実行できるようにしたいのですが、 SQLスクリプト(param.sql)にうまく引数を渡すことができません。 引数1にデータ:aaa.txt 引数2にテーブル:test_tbl どうかアドバイスいただけないでしょうか。 宜しくお願いいたします。 OS:Windows XP 【実行時】 c:temp>param.bat aaa.txt test_tbl 【作成したファイルの記述】 param.bat ------- mysql test1 -u user1 -puser1 < param.sql %1 %2 param.sql ------- LOAD DATA INFILE '&1' INTO TABLE &2 FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'; exit;

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

テストしてませんが、これでどうでしょう。 param.bat ------- ( echo LOAD DATA INFILE '%1' INTO TABLE %2 FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'; echo exit; ) | mysql test1 -u user1 -puser1 投稿日時 - 2010-08-26 17:10:58

hanahana1234
質問者

お礼

回答していただき、大変助かりました。 どうもありがとうございます! exit;ではエラーが出たのですがこれをとるとエラーがでなくなりました。 もう少しお伺いさせてください。 このロード処理結果も表示させたいのですが、 select count(*) from %2; はどこに記述すればうまく実行できるのでしょうか。 お忙しいところ大変恐縮ですが、ご教示頂けると幸いです。 宜しくお願いいたします。

関連するQ&A