C# 导入 .CSV 数据到 MySQL 表只复制 1 列

标签 c# mysql .net csv

我有一个用 C# 编写的方法,它试图将 .CSV 文件中的数据复制到如下所示的 MySQL 表中;

     public void writeToMySQL()
     {
        string constr = ConfigurationManager.ConnectionStrings["sqlString"].ConnectionString;
        using (MySqlConnection sqlCon = new MySqlConnection(constr))
        {
            try
            {
                sqlCon.Open();
                MySqlCommand sqlCmd = new MySqlCommand("LOAD DATA INFILE 'test.csv' INTO TABLE sdcdbftest.importexport;", sqlCon);
                sqlCmd.ExecuteNonQuery();
            }
            catch (MySqlException)
            {
                throw;
            }
        }
    } 

然而,实际情况是仅复制了 .CSV 文件第一列的数据,没有其他内容。 .CSV 文件看起来像这样;

enter image description here

最后,这是通过 phpMyAdmin 在数据库中构造表的方式;

enter image description here

为什么只复制第一列 (cs_id) 有什么明显的原因吗?

最佳答案

来自 the documentation , LOAD DATA INFILE... 命令的默认列终止符是制表符 (\t)。因此,您需要指定在命令中使用逗号,如下所示:

LOAD DATA INFILE 'test.csv' 
    INTO TABLE sdcdbftest.importexport 
    FIELDS TERMINATED BY ',';

关于C# 导入 .CSV 数据到 MySQL 表只复制 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907400/

相关文章:

c# - 为什么我需要在泛型子类中重新声明类型约束

c# - 如果 Windows 窗体也通过任务管理器终止,则结束任务

c# - 如何使用 MVC 错误处理程序(自定义)和 jqgrid 加载错误触发器显示错误消息

c# - 将光标移动到 C# 中的文本框

mysql - 由于错误 150(外键约束),删除后无法重新创建 mysql 表!

php - mysql数据库之间切换

php - 如何在同一个查询中使用 INNER JOIN 和 IN Clause

c# - "managed"代码到底是什么?

.net - 在列表linq中选择重复项

.net - 您可以在 VS2008 中将单元测试分组到单个测试项目中吗?