MySQL加载数据文件

本文关键字:文件 数据 加载 MySQL | 更新日期: 2023-09-27 18:03:48

我想导入CSV文件到MySQL数据库,但我得到一个错误。

这是我对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:'users'trabajo'documents'visual studio 2013'Projects'Zen硬件'演讲'

我不知道我的cmd语法的哪个部分是错误的

MySQL加载数据文件

当你使用有空格的地址时,必须在地址前后使用单引号('),像这样:

"LOAD DATA inffile 'c:'users'trabajo'documents'visual studio 2013'Projects'Zen Hardware'Presentation'Tarjetas de Video.csv' INTO TABLE zen_hardware. csv "product以','结尾的字段,'以''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;
   }
}

请参阅MySQL手册页题为加载DATA INFILE语法