MySQL解决数据加载问题?

时间:2014-06-21 16:24:17

标签: mysql

我在尝试将文本或csv文件中的数据加载到MySQL Workbench database的表格时遇到了一些问题。

首先,系统无法找到路径为c:\test.txt的文本文件。

从Stackoverflow我了解到,在使用Windows时,应该使用斜杠,/,两个双反斜杠,\\。在某些情况下,您可以使用/,在其他情况下则无法使用CREATE TABLE testtable ( entry_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(80), book_number INT );

有谁知道为什么?

一旦解决了这个问题,当我尝试从一个文件中将数据加载到表中时,我的另一个问题就出现了。

首先,我使用这个脚本创建了一个表:

test.txt

然后我用这些内容制作了一个文本文件1,first book,17 2,second book,34 3,third book,64 4,fourth book,69

c-drive

并将其放在testtable上。

最后,我尝试使用此脚本将文本文件中的数据加载到表“18:10:05 LOAD DATA LOCAL INFILE 'c:\\test.txt' INTO TABLE testtable 4 row(s) affected, 12 warning(s): 1265 Data truncated for column 'entry_id' at row 1 1261 Row 1 doesn't contain data for all columns 1261 Row 1 doesn't contain data for all columns 1265 Data truncated for column 'entry_id' at row 2 1261 Row 2 doesn't contain data for all columns 1261 Row 2 doesn't contain data for all columns 1265 Data truncated for column 'entry_id' at row 3 1261 Row 3 doesn't contain data for all columns 1261 Row 3 doesn't contain data for all columns 1265 Data truncated for column 'entry_id' at row 4 1261 Row 4 doesn't contain data for all columns 1261 Row 4 doesn't contain data for all columns Records: 4 Deleted: 0 Skipped: 0 Warnings: 12 0.031 sec ”中:

  

LOAD DATA LOCAL INFILE'c:\ test.txt'INTO TABLE testtable;

出现以下错误消息:

{{1}}

我已尝试过txt和csv文件,并且在某些情况下收到了有关错误整数值的错误消息。

有人可以帮忙吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

我认为第一列是自动生成的,因为它是主键和自动增量。尽量不要将第一个整数放在csv文件中,只需在文件上每行放两列。

答案 1 :(得分:0)

首先,我要感谢迭戈的回答。

由于我问过有关将数据加载到MySQL数据库中的表的问题,我找到了至少一些问题的原因。我想与** stack **溢出参与者分享这个。

将数据从文本文件加载到MySQL数据库中的表中相当容易。但是,在尝试此操作之前,应该考虑几个问题,并且可能会出现多种错误来源。困难的部分是找出导致任何具体问题的原因。

创建文本文件以便以后加载到MySQL数据库表时,首先要考虑的是如何安排数据。根据我的经验,唯一有效的方法是在行中排列数据值,每行包含一个记录,并按标签分隔值。不要用逗号分隔值。

完成此操作后,您可以使用扩展名.txt或.csv保存文本文件。

另一个对我来说特别困扰的问题是使用unicode字符编码保存了一些文本文件。显然,MySQL既不识别unicode也不识别UTF-8编码,它留下了ANSI编码,这是唯一可用的选项。 Unicode提供了保存非英文字母和字符的选项,这就是我在某些情况下使用它的原因。

我提到的关于不正确整数值的问题是由unicode中保存的文本文件引起的。

我还没有发现什么时候可以使用单个反斜杠指向文件路径,何时使用双反斜杠或单个斜杠,跟随驱动器号。

我欢迎评论。

谢谢。