LOAD DATA LOCAL INFILE导入错误

时间:2018-05-29 00:02:45

标签: java mysql jdbc data-import

我目前正在使用Java项目

我有一个用char制作的2D MAP(在文本文件中):  空间缺失的目的只是为了让地图看起来正确

*___________________________*;
|............................|;
|............................|;
|............................|;
|............................|;
*___*.*_*____________*_*.*___*;
|E..*.|.OOO.O.O.O.OOO..|.*..E|;
|**...|.OO...O..O.OOO..*...**|;
|**...*.OOO.O.O.O.O.O..|...**|;
|.....|................|.....|;
*_____*................|.....*;
|.....|................|.....|;
|.J...|................|.....|;
|_____*________________*_____|;
|E....................M......|;
*;___________________________*;

我正在使用 “LOAD DATA LOCAL INFILE”将此结尾插入我的表格中:

表格代码:

 CREATE TABLE `lorann`.`Niveau` 
( `ID_Niveau` INT(20) NOT NULL AUTO_INCREMENT, `contenu` text(300)
 NOT NULL, PRIMARY KEY (`ID_Niveau`)) ENGINE = MyISAM;

LOAD DATA LOCAL INFILE“import”:

"C:/Utilisateurs/Moham/desktop/Bureau/Cesi/Ressources/lvl.txt"
    FIELDS TERMINATED BY '\n' ENCLOSED BY ';' 
    LINES TERMINATED BY '\n' 

但我的问题在于它为什么会让我回头: IMAGE OF WHAT IT RETURN TO ME

ID为0表示它的剂量增量是多少?有什么问题我试图改变地图的语法和格式我试图导入悲伤,它不工作

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

评论太小,无法添加此项,因此请在此处提出建议。试试这个

用引号括起您的内容:

"*___________________________*;
|............................|;
|............................|;
|............................|;
|............................|;
*___*.*_*____________*_*.*___*;
|E..*.|.OOO.O.O.O.OOO..|.*..E|;
|**...|.OO...O..O.OOO..*...**|;
|**...*.OOO.O.O.O.O.O..|...**|;
|.....|................|.....|;
*_____*................|.....*;
|.....|................|.....|;
|.J...|................|.....|;
|_____*________________*_____|;
|E....................M......|;
*;___________________________*;"

然后将您的加载数据命令更改为:

LOAD DATA LOCAL INFILE "C:/Utilisateurs/Moham/desktop/Bureau/Cesi/Ressources/lvl.txt"
INTO TABLE `lorann`.`Niveau` 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    (contenu)

基本上说字段是用逗号分隔的(在这种情况下是冗余的,因为你只导入一个字段...... id是自动增量)

内容包含在引号""中。理论上应该允许您在内容中使用换行符和模糊;类型字符

然后最后说只有当id会自动生成时插入contenu字段。

在您的情况下可能无法使用LINES TERMINATED BY \n,因为行会覆盖多行。我希望ENCLOSED BY告诉mysql解析器忽略引号"内的\ n。如果不起作用,可以使用半冒号或LINE TERMINATED BY