我尝试在表格中加载CSV。 我的CSV在我服务器的文件夹中。 (wwww.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"但不起作用。
我已阅读其他主题,但只查看带有相对网址的示例,绝不是绝对的。
谢谢,对不起我的英文
答案 0 :(得分:2)
load data LOCAL infile '/tmp/file.csv' INTO TABLE table_name;
答案 1 :(得分:1)
MySQL无法访问该位置的文件。尝试将其移动到像本地文件系统上的/ tmp(或复制它)这样的地方,而不是通过URL参数。
MySQL进程可能无法加载文件夹BEFORE" temp / file.csv"
答案 2 :(得分:1)
@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"