【发布时间】:2011-10-27 09:58:55
【问题描述】:
Mysql 的 LOAD DATA 命令有问题。
使用简单的数据,它可以正常工作。
当我尝试加载很长的数据,并且有一个跨越多行的字段时,它会失败。
这是我的输入数据。字段以制表符分隔。
1 2008-06-27 12:00:00 Type-Safe Enumerations title Fr 5
...line 1..
...line 2....
\N 2002-10-01 12:00:00 END-OF-THE-LINE
2 2008-06-27 12:00:00 Class for constants Classe pour constantes 1
line 1...
..line 2..
\N 2002-10-01 12:00:00 END-OF-THE-LINE
4 2008-06-27 12:00:00 Another Énumérations 5
line 1
line 2
\N 2002-10-01 12:00:00 END-OF-THE-LINE
5 2008-06-27 12:00:00 And Another Énumérations 5
line 1
line 2
\N 2002-10-01 12:00:00 END-OF-THE-LINE
这是 LOAD DATA 命令:
>LOAD DATA LOCAL INFILE "TopicInfileText2.dat" INTO TABLE Topic
LINES TERMINATED BY "END-OF-THE-LINE";
目标表:
CREATE TABLE Topic (
Id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
LastEdit TIMESTAMP NOT NULL,
TitleEnglish VARCHAR(75) NOT NULL,
TitleFrench VARCHAR(75),
ChapterId SMALLINT NOT NULL References Chapter,
BodyEnglish TEXT NOT NULL,
BodyFrench TEXT,
CreationDate DATETIME NOT NULL,
PRIMARY KEY (Id)
);
来自 MySQL 的警告
| Incorrect integer value: '
2' for column 'Id' at row 2 |
| Incorrect integer value: '
4' for column 'Id' at row 3 |
| Warning | 1366 | Incorrect integer value: '
5' for column 'Id' at row 4 |
| Warning | 1366 | Incorrect integer value: '
' for column 'Id' at row 5 |
【问题讨论】: