[MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。

时间:2022-08-19 03:42:21

  利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题。

  

  首先是load data命令无法执行的问题:

    命令行下输入load data local infile "path/filename" to table table_name;

    系统提示:ERROR 1148 (42000): The used command is not allowed with this MySQL version。

    解决方法:退出mysql, 重新以此命令登录mysql

    mysql -u root -p --local-infile=1   (local-infile=1代表允许使用local infile 参数), 之后在进行文件数据导入

  第二个问题是文件中的一行数据导入表中后,没有分离字段,整一行数据都加到了表中的第一个字段下。

    根据mysql文档上load data命令讲解,如果导入数据时不加fields terminated by 'string' 参数,那么其默认是以制表符分离每个字段。我的数据一行有三列

    张三  32岁  北京*人

    我以Tab分隔每列数据,但是导入数据后,这一行数据全在name字段下

    解决方法: 更改一个fields 结束标记。

      load data local infile "path/file" to table table_name fields terminated by ":";

    还没有搞清楚为什么默认的分离标记不成功。 注意,有时候你可能会规定导入的字段名称,eg load data local infile "path/file" to table table_name(name, age) fields terminated by ":", 此时会出现语法错误,就是因为规定字段引起的。