1

こんにちは、ここに私のロードステートメントがあります:

load data local infile 'C:/GeoIPCountryWhois.csv' into table geolocation fields terminated by ','
  enclosed by '"'
  lines terminated by '\n';


30 row(s) affected, 1 warning(s):
1265 Data truncated for column 'cn' at row 30
Records: 30  Deleted: 0  Skipped: 0  Warnings: 1



CREATE TABLE `geolocation` (
  `start_ip` char(15) NOT NULL,
  `end_ip` char(15) NOT NULL,
  `start` int(10) unsigned NOT NULL,
  `end` int(10) unsigned NOT NULL,
  `cc` char(2) NOT NULL,
  `cn` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

韓国では新しいフィールドが始まるというコンマがあるため、問題は次の行である可能性が最も高いことがわかりました。

1.11.0.0,1.11.255.255,17498112,17563647,KR,"大韓民国"

すべてのカンマを削除できますが、load ステートメントを何らかの方法で変更できますか?

4

2 に答える 2

1

現在、mysql のデータは問題ありません。私が変更するもの:

ファイルの GeoIPCountryWhois - Excel CTRL + H で「」を「韓国、共和国」->「韓国」などの名前から削除するために使用しました。また、すべて削除しました

私はmysqlで変更する必要があります

start bigint (10) unsigned NOT NULL, end bigint (10) unsigned NOT NULL, テーブル「start」と「end」の「128.0.0.0」からの問題でした (このテーブルの最後までの同じ最大 int サイズ -重複)

phpmyadmin から csv をインポートしています: (翻訳が必要な場合は教えてください..)

ここに画像の説明を入力

于 2015-11-17T12:12:40.133 に答える
0

OPTIONALLY ENCLOSED BYの代わりに使用する必要がありENCLOSED BYます。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

OPTIONALLY をステートメントに追加すると、CSV を現在の形式にすることができます。OPTIONALLY キーワードがないと、すべての値が引用符で囲まれることが予想されます。

于 2013-10-06T14:25:31.567 に答える