为什么在将XML导入MySQL时使用NULL值?

时间:2015-06-25 19:46:58

标签: mysql xml

我的格式大致采用以下格式:

 <stuff thing="value" thing2="1435158141" version2="1.0-BETA" version2="1.03">
    <info type="A" protocol="tcp"/>
    <host id="14444158141">
        <address addr="1.2.3.4" addrtype="ipv4"/>
        <ports>
            <port protocol="tcp" portid="80">
                <state state="open" reason="syn-ack" reason_ttl="64"/>
            </port>
        </ports>
    </host>
    <runstats>
    <finished time="1435158153" timestr="2015-06-24 11:02:33" elapsed="12"/>
    <things up="15838" down="0" total="15838"/>
    </runstats>
 </stuff>

我想要一个包含addr,addrtype,protocol和portid数据的MySQL表。所以我在MySQL中创建了一个数据库:

CREATE TABLE stuff (
`addr` varchar(255),
`addrtype` varchar(255),
`protocol` varchar(255),
`portid` varchar(255)
);

然后我将XML文件导入MySQL,如下所示:

LOAD XML LOCAL INFILE '/path/to/file.xml' 
INTO TABLE stuff 
ROWS IDENTIFIED by '<host>';

但是,仅填充protocol和portid列。 addr和addrtype列不是并显示为NULL。为什么呢?

Ubuntu 14.10.1上的MySQL版本为5.5.43。

0 个答案:

没有答案