gpt4 book ai didi

mysql - 尝试使用加载数据本地文件 SQL 导入 csv 文件并转换为整数

转载 作者:可可西里 更新时间:2023-11-01 08:35:34 25 4
gpt4 key购买 nike

我尝试导入一个(巨大的)csv 文件,在第一列中包含一个 hotel_id,我希望使用此代码将 sql 表中的数据类型设为整数;

load data local infile 'Images_20121121.csv' into table cimages fields terminated by '|' LINES terminated by '\n' (@var1, link, description) set hotel_id=CAST(@var1 AS UNSIGNED INTEGER);

但这不起作用(我收到无效数据类型错误),有什么想法吗?

CSV文件格式如下;

ˇ˛hotelid|url|description
4052465|https://carsolizeprod.blob.core.windows.net/images/hotels/a7ce966f-1c8d-4cdb-8050-0000132d2561.jpeg|
4020907|https://carsolizeprod.blob.core.windows.net/images/hotels/7230b738-4746-4751-8212-0000171a99c5.jpeg|
4263993|https://services.carsolize.com/images/hotels/f7f27005-3546-4347-8e18-000021a66962.jpeg|Exterior
4136518|https://services.carsolize.com/images/hotels/30ba8994-acd9-4993-9f74-0000359c309b.jpeg|Guest room
4305893|https://services.carsolize.com/images/hotels/c960b56a-bba6-4256-a0cd-00003f4be196.jpeg|Bar
4023461|https://services.carsolize.com/images/hotels/30388432-ffd2-4b2d-bb86-0000489cfbcf.jpeg|
4205330|https://services.carsolize.com/images/hotels/7473dde7-e7e3-4228-ab1d-000049e7ecfe.jpeg|

我收到的警告是;

| Warning | 1292 | Truncated incorrect INTEGER value: '' |

更新:我发现实际导入的 varchar-fields 在每个字符之间包含一个 nul 值,所以这可能是问题所在(?)(查看二进制值每个之间有一个 00 字段,作为文本它是 aNULbNULcNUL 如何我可以避免这种情况吗?

最佳答案

查询似乎没问题。但是,CSV 文件的内容是什么? (如果可能,请提供样本)。

另外,请注意,如果第一行包含列名,那么您可能希望将查询更改为:

load data local infile 'Images_20121121.csv' into table cimages fields terminated by '|' LINES terminated by '\n' IGNORE 1 LINES (@var1, link, description) set hotel_id=CAST(@var1 AS UNSIGNED INTEGER);

此外,此警告更有意义,请尝试验证空白行第一列的内容,如果存在这样的行,则可能是罪魁祸首。

另一个建议,尝试对您展示的小样本应用相同的查询,是否有效?

快速查看下面的链接,可能会让您更深入地了解加载数据的工作原理。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

关于mysql - 尝试使用加载数据本地文件 SQL 导入 csv 文件并转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com