• 締切済み

CSVを1行しかインポートしない・・・・・・

すいません。1つ教えて頂きたいことがあります。 http://mysqlweb.net/category/4005373-1.html このファイルを参照してCSVを取り込もうとしていますが、何度やっても1行しか取り込まないです・・・。 Warningが出て、メッセージは Non-ASCII separator arguments are not fully supported  です。 改行コードが悪い、というのはわかりましたが何をどうしたら修正出来るのかわからず 困り果てております。 どなたかこの原因を解消する方法をご教授下さい。。。 よろしくお願いいたします。

みんなの回答

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.3

mysql> LOAD DATA INFILE "T01Prefecture.csv" -> INTO TABLE T01Prefecture FIELDS TERMINATED BY "," -> LINES TERMINATED BY "\r\n"; Query OK, 1 row affected, 1 warning (0.11 sec) Records: 1 Deleted: 0 Skipped: 0 Warnings: 1 mysql> select * from t01prefecture; +---------+-----------+ | pref_cd | pref_name | +---------+-----------+ | 1 | 北海道 2 | +---------+-----------+ をみると、 -> LINES TERMINATED BY "\r\n"; CR(0x0D)+LF(0x0A)という改行になっていないので、 1行目のpref_nameは、 「 北海道 2 」という値が入っているのがわかります。 入力元のファイルをバイナリエディタで調べてみましょう。 改行が0Dだけなら\rで、0Aだけなら\nで指定するとうまくいくはず。 バイナリエディタの例 BZ エディタ http://www.forest.impress.co.jp/library/software/binaryeditbz/ 他。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

すいません。私の指摘したものはコマンドだったのですね。 よく読んでいませんでした。 記事を読んでいくとT01Prefecture.csvがSHIFT-JISと書かれています。 メモ帳で開いて名前をつけて保存、で、文字コードANSIで保存したらいけるかも。

kemukemu2014
質問者

補足

すいません・・・やはりダメです。ホントに悔しいです。何でダメなんだろう。自分で一からCSVを作ってもダメです。。。勿論、文字コードは sjis です。 下記はコードとなります。何がダメなんでしょうか・・・。 mysql> status -------------- C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe Ver 14.14 Distrib 5.6.17, for Win32 (x86) Connection id: 4 Current database: sampledb040 Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.6.17 MySQL Community Server (GPL) Protocol version: 10 Connection: localhost via TCP/IP Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis TCP port: 3306 Uptime: 15 min 35 sec Threads: 1 Questions: 72 Slow queries: 0 Opens: 68 Flush tables: 1 Open tab les: 61 Queries per second avg: 0.077 -------------- mysql> LOAD DATA INFILE "T01Prefecture.csv" -> INTO TABLE T01Prefecture FIELDS TERMINATED BY "," -> LINES TERMINATED BY "\r\n"; Query OK, 1 row affected, 1 warning (0.11 sec) Records: 1 Deleted: 0 Skipped: 0 Warnings: 1 mysql> select * from t01prefecture; +---------+-----------+ | pref_cd | pref_name | +---------+-----------+ | 1 | 北海道 2 | +---------+-----------+ 1 row in set (0.00 sec)

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

テーブルのカラムは2つありますか? 行区切りが\nでなく,で終わっているみたいですが。

kemukemu2014
質問者

補足

お返事ありがとうございます。 カラムは2つあります。 行区切りが\nでなく,で終わっている、故に LOAD DATA INFILE "T01Prefecture.csv" INTO TABLE T01Prefecture FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n"; と、最後を"\r\n"にしていますが、このやり方がおかしいでしょうか? よろしくお願いいたします。

関連するQ&A