2016-09-22 80 views
0

我正在尝试将THIS XML文件导入到mysql数据库中,书籍表中。当为我用这个语法创建字段:无法将XML文件添加到mysql表中[已更新]

CREATE TABLE books (id INT PRIMARY KEY, 
author varchar(255), 
title varchar(255), 
genre varchar(255), 
price decimal, 
publish_date varchar(255), 
description text); 

我的XML文件(Books.xml的)存储在文件。我试图用这个查询:

LOAD XML LOCAL INFILE '/Documents/books.xml' INTO TABLE books; 

我回来:

File '/Documents/books.xml' not found (Errcode: 2) 

我试过到目前为止:

  • 如果不使用本地关键字
  • sudo cp我的books.xml文件进入mysql数据库目录并试图从那里添加它
  • X次检查我的语法,看看我做的任何错误
  • 试行从我把它叫做文件
  • 检查这样的其他问题问

我敢肯定它的一些愚蠢的错误不同位置答案是非常明显的,但我已经花了2个小时试图解决这个问题,我找不到问题。请耐心等待,并提前答复你的回答。

编辑 发现我的问题。我不得不将我的book.xml文件移动到虚拟机的目录中,并且工作正常。现在出现了新的问题。它将xml文件添加到表中,但该集是空的。

+0

**编辑**发现我的问题。我不得不将我的book.xml文件移动到虚拟机的目录中,并且工作正常。现在出现了新的问题。它将xml文件添加到表中,但该集是空的。 'Query OK,0 rows affected(0.00 sec) Records:0 Deleted:0 Skipped:0 Warnings:0' – Viktor

回答

0

对于最初的问题,解决方案是我的XML文件不在VM环境中,所以mysql无法访问它。我必须将books.xml移动到Vagrant的目录,公用文件夹,然后我才能将它加载到表中。

对于第二个问题(导入后受影响的0行),我不得不在查询结束时添加ROWS IDENTIFIED BY <book>,这个工作正常,它会将我所有的图书对象添加到数据库中,如我所愿。我希望这能帮助所有面临同样问题的人。