如何在csv导入中出现“列数据被截断”警告?

时间:2019-02-06 22:51:02

标签: mysql sql

我正在尝试将数据从文本文件导入到mysql-5.5中的表中。这是表创建代码:

CREATE TABLE `price` (
`symbol` VARCHAR(20) NOT NULL,
`date` DATE NOT NULL,
`open` DOUBLE NULL DEFAULT NULL,
`high` DOUBLE NULL DEFAULT NULL,
`low` DOUBLE NULL DEFAULT NULL,
`close` DOUBLE NULL DEFAULT NULL,
`volume` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`date`, `symbol`)
)
ENGINE=InnoDB
;

这是导入代码。

INFILE 'c:/temp/DTB3.csv'
INTO TABLE price 
FIELDS TERMINATED BY ','
(symbol, date, @dummy, @dummy, close);

这是一些数据行。

10,2019-01-30,1.00,1.00,50459.4301
10,2019-01-31,1.00,1.00,50477.9307
10,2019-02-01,1.00,1.00,50496.4382

以下是警告示例:

Warning 1,265 Data truncated for column 'close' at row 12

结果表中的数据看起来正确。

enter image description here

我已经尝试将价格字段设置为double和float。

为什么会收到这些警告,我该怎么办?

2 个答案:

答案 0 :(得分:0)

我的最佳猜测是您在表中声明了7列,但仅提供了5列数据。

尝试为导入数据中的缺失(空)字段添加逗号,以便导入明确知道没有要加载的值。

赞:

response.headers.set(iron::headers::ContentType("text/html; charset=utf-8".parse::<iron::mime::Mime>().unwrap()));

答案 1 :(得分:0)

万一其他人偶然发现此问题,修改查询以添加:     '\ r \ n'终止的行 停止了警告。显然,MySQL试图将回车符附加到import的close字段中。