LOAD XML在MySQL中不起作用

时间:2018-07-05 23:54:22

标签: mysql xml load

首先让我说,我知道不加载到MySQL中的XML文件是StackOverflow上的常见话题。我查看了其中的四十个,并且学到了一些东西,但是我还没有解决我的问题。 背景:我将Mac与High Sierra搭配使用,并安装了MySql版本, 版本:5.7.9 InnoDB版本:5.7.9 选项文件设置: 字符集服务器:utf8 整理服务器:utf8_general_ci utf8中保存的xml文件

这是我的XML文件test2.xml:

<?xml version="1.0" encoding="utf-8" ?>
<col1 col1_name="Hi!">
    <col2>Here<></col2>
    <col3>Also Here</col3>
</col1>

<col1 col1_name="High!">
    <col2>Still here</col2>
    <col3>Remaining Here</col3>
</col1>

<col1 col1_name="High5">
    <col2>Not here</col2>
    <col3>Gone</col3>
</col1>

这是使用表joe创建数据库游乐场的MySQL代码:

CREATE DATABASE playground 
       CHARACTER SET = utf8 COLLATE =utf8_general_ci;
USE playground;
CREATE TABLE joe 
       (col1 VARCHAR(20), col2 VARCHAR(20), col3 VARCHAR(20);

这只是无效的代码片段之一:

USE playground;
SHOW WARNINGS;
LOAD XML LOCAL INFILE "~/Desktop/test2.xml" 
     INTO TABLE  joe ROWS IDENTIFIED BY '<col1.>';

我也尝试过以这种方式格式化xml:

<row>
        <field name='col1'>Looking</field>
        <field name='col2'>Here</field>
        <field name='col3'>Also Here</field>
 </row>

<row>
    <field name='col1'>Checking</field>
    <field name='col2'>Still here</field>
    <field name='col3'>Remaining Here</field>
</row>

,将MySQL代码的最后一行更改为 以“ MySQL Workbench显示“受影响的0行”。没有警告。日志中没有任何内容 到目前为止没有任何工作。在搜索堆栈溢出时,我找到以下链接:How import xml files with mysql LOAD XML LOCAL INFILE我复制并粘贴了此人的xml和MySQL代码,它们为我工作。但是,我无法从他的工作代码片段中找到我破碎的片段。 在MySQL.com上,我发现有时不同的字符集会阻止xml导入。我的xml和数据库现在使用相同的字符集,但这并不能解决我的问题。 我发现堆栈之外的任何内容都无济于事。 我在xml中有大量信息可以导出到MySQL。将其转换为以逗号分隔的格式是不切实际的,而且恐怕也不行。 谢谢您的宝贵时间。

0 个答案:

没有答案