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,“韩国,共和国”

我可以删除所有逗号,但我可以以某种方式更改加载语句吗?

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 回答