我在尝试将文本或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文件,并且在某些情况下收到了有关错误整数值的错误消息。
有人可以帮忙吗?
提前致谢。
答案 0 :(得分:0)
我认为第一列是自动生成的,因为它是主键和自动增量。尽量不要将第一个整数放在csv文件中,只需在文件上每行放两列。
答案 1 :(得分:0)
首先,我要感谢迭戈的回答。
由于我问过有关将数据加载到MySQL数据库中的表的问题,我找到了至少一些问题的原因。我想与** stack **溢出参与者分享这个。
将数据从文本文件加载到MySQL数据库中的表中相当容易。但是,在尝试此操作之前,应该考虑几个问题,并且可能会出现多种错误来源。困难的部分是找出导致任何具体问题的原因。
创建文本文件以便以后加载到MySQL数据库表时,首先要考虑的是如何安排数据。根据我的经验,唯一有效的方法是在行中排列数据值,每行包含一个记录,并按标签分隔值。不要用逗号分隔值。
完成此操作后,您可以使用扩展名.txt或.csv保存文本文件。
另一个对我来说特别困扰的问题是使用unicode字符编码保存了一些文本文件。显然,MySQL既不识别unicode也不识别UTF-8编码,它留下了ANSI编码,这是唯一可用的选项。 Unicode提供了保存非英文字母和字符的选项,这就是我在某些情况下使用它的原因。
我提到的关于不正确整数值的问题是由unicode中保存的文本文件引起的。
我还没有发现什么时候可以使用单个反斜杠指向文件路径,何时使用双反斜杠或单个斜杠,跟随驱动器号。
我欢迎评论。
谢谢。