2

我正在尝试使用下面的代码使用 LOAD DATA LOCAL INFILE 将数据加载到 mysql 表中。

mysql:

LOAD DATA INFILE '/var/www/vhosts/domain.com/httpdocs/test1.csv' INTO TABLE temp_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (recloc,client_acc)

编辑:将 LOAD DATA LOCAL INFILE 更改为 LOADA DATA INFILE,删除 SET id=null,添加 IGNORE 1 LINES

我没有收到任何错误,也没有导入记录。我相信这个问题与列名有关,但我很难完全理解这些名称应该是什么。它们应该是 CSV 中的实际列名吗?或数据库表中的字段名称?我还希望有一个 auto_incremented 主键(id)。

CSV:

recloc,client_acc
"NLGSX3","CORPORATE"
"7SC3BA","QUALITY ASSURANCE"
"3B9OHF","90717-6710"

对我可能做错的事情有什么建议吗?谢谢!

4

2 回答 2

2

CSV 中的列名不是必需的,因此您应该添加IGNORE 1 LINES子句。

查询中的(recloc,client_acc)列需要匹配表中的列。CSV 中的第一列将插入recloc,第二列插入client_acc

如果语句中没有指定 AUTO_INCREMENT 列,但表中有一个,它应该自动填充。

于 2010-12-14T16:51:12.620 回答
0

excel到mysql数据导入的简短而甜蜜的解决方案:

适用于 txt 文件格式。详细地:

tbl name=t1
feilds are= name varchar,email varchar;

text.txt 文件 <<== 此文本文件的第一行表列名称:

name,   email
"n1",   "e1"  next line 
"n2",   "e2" next line 
"n3",   "e3" next line 
"n4",   "e4" next line 
"n5",   "e5" next line 
"n6",   "e6" next line 
"n7",   "e7" next line 

请忽略 wamp 中的下一行语句 SQL 查询

LOAD DATA INFILE 'c:/wamp/www/touch/text.txt' INTO TABLE t1 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES(name,email)

为了成功运行此命令,我们分别创建了文件夹。

真正的一个是

C:\wamp\mysql\data\wamp\www\touch\text.txt <<==pysical 文件路径是。

但是我们提到 c:/wamp/touch/text.txt

于 2013-05-23T06:11:49.453 回答