MySQL加载数据Infile
问题描述:
我想导入CSV文件到MySQL数据库,但我得到一个错误。MySQL加载数据Infile
这是我LOAD DATA INFILE
方法:
public int Import(string path)
{
try
{
string cmd = "LOAD DATA INFILE " + path + " INTO TABLE zen_hardware.products FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
int a = MySqlHelper.ExecuteNonQuery(conn.Connect(),cmd);
return a;
}
catch
{
return -1;
}
}
当我运行的代码我的字符串CMD得到这个:
"LOAD DATA INFILE c:\\users\\trabajo\\documents\\visual studio 2013\\Projects\\Zen Hardware\\Presentation\\Tarjetas de Video.csv INTO TABLE zen_hardware.products FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'"
而我得到的错误是这样的:
你的SQL语法有错误;检查手册中 对应于你的MySQL服务器版本正确的语法使用 接近“C:\用户\特拉瓦霍\文件\的Visual Studio 2013 \项目\禅 五金\演示”
我不不知道我的cmd语法的哪一部分是错误的。 C:
答
,当你使用的是有空间的地址,必须'
“LOAD DATA INFILE前和这样的地址后,使用单引号()”:\用户\特拉瓦霍\文件\的Visual Studio 2013 \项目\禅五金\演示\ Tarjetas德Video.csv 'INTO TABLE zen_hardware.products TERMINATED田野',” LINES TERMINATED BY '\ n'”
public int Import(string path)
{
try
{
string cmd = "LOAD DATA INFILE '" + path + "' INTO TABLE zen_hardware.products FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
int a = MySqlHelper.ExecuteNonQuery(conn.Connect(),cmd);
return a;
}
catch
{
return -1;
}
}
请参阅题为LOAD DATA INFILE Syntax MySQL的手册。
+1
谢谢你的工作:D –
结果命令应该如下所示: “LOAD DATA INFILE'c:\\ users \\ trabajo \\ documents \\ visual studio 2013 \\ Projects \\ Zen Hardware \\ Presentation \\ Tarjetas de Video。 csv'INTO TABLE zen_hardware.products FIELDS TERMINATED BY','LINES TERMINATED BY'\ n'“ –