MySQL从CSV加载数据填充(字段可以选择用引号括起来,数字有逗号分隔符)

MySQL从CSV加载数据填充(字段可以选择用引号括起来,数字有逗号分隔符),mysql,csv,Mysql,Csv,对不起,这个冗长的标题。我正在运行以下查询: LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY ',\r\n' 我有一个CSV,其中包含以下格式的数据: 1111, 2222, "32", "1,234.304", 1023.53, 所有行都以一个额外的逗号结尾 尝试加载时,我在尝试

对不起,这个冗长的标题。我正在运行以下查询:

LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE tablename 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY ',\r\n' 
我有一个CSV,其中包含以下格式的数据:

1111, 2222, "32", "1,234.304", 1023.53,
所有行都以一个额外的逗号结尾

尝试加载时,我在尝试将“1234.304”类型字段放入数字(12,4)列时出错。最后我得到了1.0000,并警告数据被截断。我原以为是1234.304


编辑:对具有逗号分隔符的值进行常规插入似乎会让MySQL感到不安。有没有办法修改加载命令以实现所需的行为?

将问题分为两个步骤:

  • 将数据输入数据库
  • 将数据转换为所需的表格/格式
  • 如果将所有数据放入带有
    VARCHAR
    字段的表中,则可以轻松地对其进行操作,并将值显式转换为所需的类型,而不是依赖于通过
    LOAD data LOCAL infle
    获得的隐式转换