无法将XML文件添加到mysql表中

时间:2016-09-22 08:17:20

标签: mysql xml

我正在尝试将一个XML文件添加到mysql数据库, books 表中。为 books 创建字段时,我使用了以下语法:

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)存储在Documents中。我试图使用此查询:

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

我得到了什么:

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

到目前为止我尝试了什么:

  • 不使用LOCAL关键字
  • sudo cp将我的books.xml文件放入mysql数据库目录并尝试从那里添加
  • X次检查我的语法以查看我是否犯了任何错误
  • 尝试从我调用文件
  • 的不同位置
  • 检查这样的其他问题

修改 发现我的问题。我必须将我的book.xml文件移动到VM的目录中并且它有效。现在出现了新的问题。它将xml文件添加到表中,但该集合为空。

1 个答案:

答案 0 :(得分:0)

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

对于第二个问题(导入后影响了0行),我不得不在查询结束时添加ROWS IDENTIFIED BY <book>,这很好用,并且我按照我的意愿将所有书籍对象添加到数据库中。我希望这将有助于每个将面临同样问题的人。