【发布时间】:2017-08-18 01:10:57
【问题描述】:
我正在尝试找到一种方法来加载我称之为 ipCompare_tbl 的 mysql 表,该表使用名为 myIPs.csv 的 CSV 文件中的 IP 地址。
ipCompare_tbl 中的字段是 ipStart 和 ipEnd。我还为名为 id 的主键生成器字段添加了 auto_incrementor。
我的目标是加载 ipCompare_tbl:
ipStart ipEnd id
123.10.0.0 123.0.0.255 1
130.20.0.0 130.0.0.255 2
140.30.0.0 140.0.0.255 3
我不断收到以下错误: 错误 1366 (HY000):不正确的整数值:第 1 行的列 'ipStart' 的“130.20.0.0”'
我正在为它运行以下代码:
DROP TABLE IF EXISTS ipCompare_tbl;
CREATE TABLE ipCompare_tbl(
ipStart int(10) unsigned NOT NULL,
ipEnd int(10) unsigned NOT NULL,
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY ( id ));
LOAD DATA INFILE 'myIPs.csv' INTO TABLE ipCompare_tbl
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY ';'
IGNORE 1 LINES;
SELECT INET_ATON(ipStart), INET_ATON(ipEnd)
FROM ipCompare_tbl;
【问题讨论】:
-
ipStart 和 ipEnd 应该是 varchar(15)
-
或 varchar(45) 如果你想支持 IPv6:stackoverflow.com/questions/1076714/…