我有一个用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)有明显的原因吗?
从文档,对于缺省的列终止LOAD DATA INFILE...
命令的标签(\t
)字符。因此,您需要在命令中指定您要使用逗号,如下所示:
LOAD DATA INFILE 'test.csv'
INTO TABLE sdcdbftest.importexport
FIELDS TERMINATED BY ',';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句