【问题标题】:Load data infile MySQL with absolute URL使用绝对 URL 加载数据 infile MySQL
【发布时间】:2014-08-19 16:22:29
【问题描述】:

我尝试在表格中加载 CSV。 我的 CSV 在我的服务器的一个文件夹中。 (www.myweb.com/temp/file.csv)

我用这句话:

LOAD DATA INFILE 'http://wwww.myweb.com/temp/file.csv' INTO TABLE ga_tmpActivosDocumentos FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES (idTipoSuelo,C_Latitud,C_Longitud,Referencia,Zona,idProvincia,Poblacion,TituloActivo,Descripcion,Superficie,Gastos,Equipamiento,EquipamientoEN,GestionDocumental,PrecioVenta,CampoLibre1_Texto,CampoLibre1_Titulo,CampoLibre1_TextoEN,CampoLibre1_TituloEN,Activo, IMG1,IMG_Desc1,IMG_Desc1EN,IMG2,IMG_Desc2,IMG_Desc2EN,IMG3,IMG_Desc3,IMG_Desc3EN,IMG4,IMG_Desc4,IMG_Desc4EN,DOC1,DOC_Desc1,DOC_Desc1EN,DOC2,DOC_Desc2,DOC_Desc2EN,DOC3,DOC_Desc3,DOC_Desc3EN,DOC4,DOC_Desc4,DOC_Desc4EN,URL1,URL_Desc1,URL_Desc1EN,URL2,URL_Desc2,URL_Desc2EN) SET idCliente = 23

这句话对我不起作用。我尝试将路径更改为 .../temp/file.csv 和其他组合但不起作用。

也使用“LOAD DATA LOCAL INFILE”但不起作用。

我已阅读其他主题,但只查看具有相对 URL 的示例,而不是绝对的。

谢谢,对不起我的英语

【问题讨论】:

  • "MySQL 无法为您下载该文件。您必须先下载该文件(使用 wget 之类的工具),并指定您下载的文件名。您还需要将“LOAD DATA INFILE”更改为“LOAD DATA LOCAL INFILE”。需要这样做的原因是技术性的,但与您的数据库服务器与您的 Web 服务器不同。” - 根据discussion.dreamhost.com/thread-130247-post-137985.html
  • 感谢您的链接,我会继续尝试查找错误。

标签: mysql csv


【解决方案1】:
  1. 在您的本地计算机上保存 CSV 文件。
  2. 从您的本地计算机连接到数据库
  3. 发出以下命令:load data LOCAL infile '/tmp/file.csv' INTO TABLE table_name;

You can also load data files by using the mysqlimport utility; it operates by sending a LOAD DATA INFILE statement to the server. The --local option causes mysqlimport to read data files from the client host.

【讨论】:

    【解决方案2】:

    @vadym-tyemirov 答案有效,但如果您不想创建临时文件,一种解决方案是从 '/dev/stdin' 加载它并将其通过管道传输到 mysql cli:

    wget -O - 'http://wwww.myweb.com/temp/file.csv' |
        mysql \
            --user=root \
            --password=password \
            --execute="LOAD DATA LOCAL INFILE '/dev/stdin' INTO TABLE table_name"
    

    【讨论】:

      【解决方案3】:

      MySQL 无法访问该位置的文件。尝试将其移动到本地文件系统上的 /tmp 之类的简单位置(或复制它),而不是通过 URL 参数。

      MySQL 进程可能无法加载“temp/file.csv”之前的文件夹

      【讨论】:

      • 感谢您的回复,找到所有选项,如果我给她会发布解决方案。
      猜你喜欢
      • 2011-08-01
      • 1970-01-01
      • 2011-01-28
      • 2011-01-14
      • 2010-10-22
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多