注册 登录
编程论坛 MySQL论坛

[求助]问个Mysql数据导入的问题

静思 发布于 2007-09-05 20:09, 1808 次点击

我有个文件test.txt,里面有如下数据:
"5","abc"
"6","def"
"7","ghj"

然后我用如下方法导入
load data infile 'e://test.txt' replace into table testtable fields terminated by ',' enclosed by '"' lines terminated by '\n';
结果产生以下错误:
error 1262(01000):row 1 was truncated;it contained more data than there were input columns
请问是什么问题?
注:我的testtable定义如下
create table testtable
(id char(1) primary key,
sname char(10) not null)

[此贴子已经被作者于2007-9-5 20:12:20编辑过]

7 回复
#2
purana2007-09-05 20:28
我试了一下.关键在于行的结尾符.
#3
purana2007-09-05 20:30
因为你在txt文件里.每输入一行.就一个回车键..但mysql不认识.所以不能断行地读.所以结果就是列出错了.
#4
静思2007-09-05 20:36
那怎么解决呢?是不是要把txt文件的一行写满呢?
#5
purana2007-09-05 20:38
"5","abc"?"6","def"?"7","ghj"?

例如,将文件内容改成这样.
然后就可以写load data ..

LOAD DATA INFILE 'e:/test.txt'
INTO TABLE testtable
FIELDS
TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '?'
;
#6
purana2007-09-05 20:41
其实.你完全可以先将内容insert到表中.然后select into outfile出去一个文件中.
SELECT * INTO OUTFILE 'E:/text.txt'
FIELDS
TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM testtable
;

这样,从生成的文件,与你的文件,对比一下.就知道哪出了问题了.
#7
静思2007-09-05 20:53
哦...明白了,原来Mysql不识别回车键.
我按版主的方法已经将上述例子执行了一遍,就是回车键的问题.
版主好热心,谢谢斑竹啦...

#8
purana2007-09-05 20:56
呵呵..不谢..共同学习.
1