LOAD DATA INFILE '/new/mysql/商品消费数据表.csv' INTO TABLE orders FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS; ERROR 1366 (HY000): Incorrect integer value: 'DD201708167493663618499909784' for column 'id' at row 1
时间: 2023-09-16 11:14:30 浏览: 104
MySql导入CSV文件或制表符分割的文件
这个错误提示的意思是在第一行中,id列的值 'DD201708167493663618499909784' 不能被正确解析为整数。
这可能是由于您在将数据导入MySQL表时,id列的数据类型被定义为整数类型(如INT或BIGINT),而数据文件中的某些行中的id列的值不是整数。
要解决这个问题,您可以尝试以下方法之一:
1. 检查您的数据文件,确保id列中的所有值都是整数。如果不是,您需要将它们更改为整数值,或者将id列的数据类型更改为字符类型(如VARCHAR)。
2. 如果您确定id列的数据类型应该是整数类型,请检查您的数据文件中是否有其他列中的数据格式错误。类似地,如果您的数据文件中有其他列中的数据格式错误,您需要更正这些错误。
3. 如果您无法更改数据文件中的值或更改表的结构,则可以在导入数据时使用MySQL提供的转换函数来转换id列的值。例如,您可以使用以下语句将id列中的非整数值转换为0:
```
LOAD DATA INFILE '/new/mysql/商品消费数据表.csv'
INTO TABLE orders
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(@id, @col2, @col3) -- 将id列存储到变量@id中,以便进行转换
SET id = IF(@id REGEXP '^[0-9]+$', @id, 0), -- 如果id列的值是整数,则设置为原始值,否则设置为0
col2 = @col2,
col3 = @col3;
```
希望这些方法对您有所帮助!
阅读全文