Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C将.CSV数据导入MySQL表只复制1列_C#_Mysql_.net_Csv - Fatal编程技术网

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

C# C将.CSV数据导入MySQL表只复制1列,c#,mysql,.net,csv,C#,Mysql,.net,Csv,我有一个用C编写的方法,试图将.CSV文件中的数据复制到MySQL表中,如下所示: public void writeToMySQL() { string constr = ConfigurationManager.ConnectionStrings["sqlString"].ConnectionString; using (MySqlConnection sqlCon = new MySqlConnection(constr))

我有一个用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文件看起来是这样的

最后,这是如何通过phpMyAdmin在数据库上构造表的

是否有任何明显的原因可以解释为什么只复制第一列的cs_id?

从加载数据填充的默认列终止符。。。命令是制表符\t。因此,您需要指定在命令中使用逗号,如下所示:

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

@大卫工作得很好,谢谢。请随意发布答案,我会接受。您的原始csv文件在文本编辑器中,而不是Excel中是什么样子?该格式是否符合加载数据填充的默认参数,如字段和行分隔符?作为扩展,是否有一种方法可以在忽略其他列的同时指定要导入的特定列?例如,我刚刚尝试只导入csid和t1_字段,但是t1_字段中的数据是在表列中导入的。@Cbreeze导入到临时表中,然后复制到所需的字段上?这比自己手动解析CSV数据更容易。您可以指定如下列列表,将“test.CSV”加载到表sdcdbftest.importexport csid、@dummy、@dummy2、t1_字段、@dummy3;,请注意导致这些值被忽略的伪值。@user3791372我如何才能做到这一点?通过第三方软件?