错误1265使用LOAD Data INFILE导入时数据被截断



在Windows 10上使用MySQL工作台版本8.0.26,在本地连接上

好的,所以我使用LOAD data INFOILE从.csv导入数据,它被卡在第一行(错误1265,列"delivery_cost"被截断等(,我不明白为什么。有人能解释一下这是怎么回事吗?

装载代码:

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/receipts.csv'
INTO TABLE receipts
FIELDS TERMINATED BY ','
IGNORE 1 LINES
(
order_id,
order_date,
customer_id,
delivery_date,
total_order,
delivery_fee,
payment_method, 
delivery_cost
)

这就是我的专栏的结构:

delivery_cost DOUBLE (10,2) DEFAULT 0

.csv看起来是这样的(delivery_cost是最后一个,为了节省空间,不包括标题(:

1,2021-10-07,771,2021-10-08,150,6,1,6.0
2,2021-10-07,865,2021-10-08,29300,0,2,27.0
3,2021-10-07,823,2021-10-09,14200,0,4,13.0

数据类型&尺寸看起来不错。我甚至用0替换了NULL默认值。将位数从DOUBLE更改为[DUBLE(10,2(到DOUBLE(10,1(或(10.3(]没有区别。

当我使用SET=FLOOR(@delivery_cost(只获取整数时,它就起作用了。当我使用SET delivery_cost=@delivery_costs-0.5(出于某种原因(时,它是有效的,有趣的是,当我使用SETdelivery_cost=@delivery_cost-0.5+0.5时,它也是有效的(所以我得到了与我想要导入的数字完全相同的数字(。事实上,它甚至可以与SET delivery_cost=@delivery_cost+0一起工作。

我非常困惑为什么会这样。我想这没什么大不了的,因为我找到了一个变通办法,但我想了解根本原因。注意:这是我的第一篇StackOverflow文章,我是编程新手(SQL是我的母语(。Ty<3

wchiquito在注释中解决。需要";以"\r\n"结尾的行;

最新更新