[前][次][番号順一覧][スレッド一覧]

mysql:7609

From: "Takeda" <"Takeda" <hide-yan@xxxxxxxxxx>>
Date: Tue, 29 Apr 2003 21:58:04 +0900
Subject: [mysql 07609] Re: load 文での load 件数の不一致

武田です。
とみた様
早速ご回答ありがとうございます。
アドバイス頂きましたようにCSVファイルとロード結果を比べてみました。

> > ちょうど半分になってしまう状況ですが、原因が分かりません。
>
> MySQL にロードされたレコードと、ロードされなかったレコードに何か違いが
> ないか比べてみてはどうでしょうか。
>

①16630レコードのCSVファイルのloadを実行した際の結果
load data infile 'file.csv'
into table table
fields terminated by ','
enclosed by '"'
ignore 1 lines;
Query OK, 8315 rows affected (7.69 sec)
Records: 8315  Deleted: 0  Skipped: 0  Warnings: 8315

②select column_last from table where id='E001'; の実行結果
+---------------------------+
| column_last                  |
+---------------------------+
| あいう"
"E001 |
+---------------------------+
1 row in set (1.49 sec)

<CSVファイル>
1行目の1列目(id)="E001",~~,1行目の最終列(column_last)="あいう"
2行目の1列目(id)="E002",~~

●推測
このCSVファイルの最終列が実はカンマで区切られていないために2行目の
1列目のカンマまでを1行と認識してloadし、CSV2行を1行として取り込んでし
まい、
結果としてload件数がちょうど半分になっているような気がしています。

①でWarnings: 8315となっているのは、CSV2行目の2列目以降が正しく取り込めて
いないために全レコードにWarningが発生したということと理解してよいでしょう
か。

ここまではなんとなく理解できましたが、結局どうすればいいかが分かりません。
lines terminated by  を追加すればよいような気もしますが、行終端文字は
何にするのが適当でしょうか。
エクセルで普通に開けるファイルなので特別なものではないと思って
いましたが、ファイルによって異なるものなのでしょうか。

なかなか思うようにいかないものですね。。。

以上、どうぞよろしくお願い致します。


[前][次][番号順一覧][スレッド一覧]

      7607 2003-04-29 12:27 ["Takeda" <hide-yan@x] load 文での load 件数の不一致           
      7608 2003-04-29 19:17 ┣[とみたまさひろ <tomm]                                       
->    7609 2003-04-29 21:58 ┃┗["Takeda" <hide-yan@x]                                     
      7610 2003-04-29 22:10 ┃ ┣["Takeda" <hide-yan@x]                                   
      7615 2003-04-30 00:13 ┃ ┗[とみたまさひろ <tomm]                                   
      7617 2003-04-30 10:21 ┗["MORII,Tadashige" <m]                                       
      7626 2003-04-30 23:32  ┗["Takeda" <hide-yan@x]