mysql - 如何将 IP 地址从 CSV 文件加载到 Mysql 表中?

标签 mysql csv inet-aton

我正在尝试找到一种方法来加载一个名为 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;

最佳答案

将表架构更改为

CREATE TABLE ipCompare_tbl(
ipStart varchar(15) NOT NULL,
ipEnd varchar(15) NOT NULL,
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY ( id ));

关于mysql - 如何将 IP 地址从 CSV 文件加载到 Mysql 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010637/

相关文章:

MySQL 查询命令从单元格中获取值

php - 从 mySQL 列中回显选项(选项/选择)

php - 在 PHP 中定义大量数据的最佳方法是什么?

c - inet_aton 转换 010.000.000.001 错误?

c# - 获取和设置 MySQL 选择

MySQL Workbench 无法检索数据目录中的磁盘空间,服务器已停止

python - 使用 matplotlib Polycollection 绘制 csv 文件中的数据

java - Android Studio 中的 SQLite 数据库,第二个 Activity 返回一个空表

c - C 语言中 inet_aton() 和 gethostbyname() 的区别?