首页 > 解决方案 > 从 csv 将布尔变量读入 Mysql

问题描述

将布尔值从 csv 读取到 mysql 数据库的秘诀是什么?我将列设置为“tinyint(1)”但是,当我尝试将 csv 读入数据库时​​,它只读入“0”我尝试调整写入 csv 的程序的输出,所以它一直都是“真/假”和“0/1”都不起作用。它根本没有读取它提供的任何值。

下面是我用来将 csv 读入 mysql 的命令

LOAD DATA LOCAL INFILE '/home/user1/Programs/csv/info.csv' INTO TABLE infodb FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

下面是我的 Mysql 表:

+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| id                 | int           | YES  |     | NULL    |       |
| name               | varchar(15)   | YES  |     | NULL    |       |
| trail              | tinyint(1)    | YES  |     | NULL    |       |
| owner              | tinyint(1)    | YES  |     | NULL    |       |
| decision           | tinyint(1)    | YES  |     | NULL    |       |
| path               | tinyint(1)    | YES  |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+

id 和 name 正常,但 trail、owner、decision、path 只显示为 false

CSV 有两种格式,首先:

234 James, 0, 1, 1, 0
222, John, 1, 0, 1, 0
522, Tony, 1, 1, 1, 0

然后我也尝试了:

234, James, false, true, true, false
222, John, true, false, true, false
522, Tony, true, true, true, false

两者都不起作用

标签: mysqlcsvboolean

解决方案


您是否尝试过将字段定义为布尔值?
csv 是什么样的?
名称、活动等
,其中“活动”是数字 1 还是 0?


推荐阅读