2011-01-06 136 views
1

我一直在试图在最后一天左右将使用phpMyAdmin从Access中导出的​​记录文本文件导入到MySQL中。这些字段由管道“|”分隔并且这些字段由引号“”环绕。我不完全确定行结束,但是,我尝试使用auto,\ n,\ r,] \ r \ n都无济于事。它只导入第一条记录,就是这样。非常生气。我已经在互联网上搜索线索,他们都说要确保字段类型和数字匹配......他们所做的。我在我束手无策,所以我希望有人能救我脱离这;-)文本文件的基本格式如下:将文本文件导入到MySql中

|"CBCF"|"CBOFT"|"Provincial"|"yes"|"Newsroom"|"Control Room"|"Prog. Director"|"News Director"|"OPS Manager"|"Engineer/IT"|"General Manager"|"General Sales Manager"|""|""|""|"514-597-5353"|""|"514-597-5353"|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|""|"613-XXX-XXXX"|""|""|""|""|""|""|""|""|""|""|"[email protected]"|""|""|""|""|""|""|""|""|""|""|"EASTERN"|"Radio-Canada French Services"|15/5/2008 9:38:12|22/7/2010 15:00:28|"***Provincial contact for RDI, our 24 news service, and Radio Internet service." 

回答

0

您是否尝试过使用命令行上的mysqlimport?它应该是这样简单的:

mysqlimport --fields-terminated-by="|" --fields-enclosed-by="\"" your_db table_name.txt 
1

如果这有助于某人,这是我所做的导入工作。

在收到各种重复的键错误或只有第一个记录导入后,我仔细看了看我如何设置PRIMARY KEY。它被设置为TINY INT和AUTO INCREMENT。所以我删除了列,然后重新插入,这次是SM INT,unsigned,AUTO INCREMENT,然后导入正常工作。因此,确保CSV或分隔文本文件格式正确的关键(我推荐使用“管道”字符作为分隔符,字段中没有引号),数据库表字段与您的文本文件完全匹配(至少在条款的列数)并且您的PRIMARY KEY设置正确。至少这是对我有用的东西。

Dave