MySQL加载不插入xml中的所有记录

时间:2014-11-23 16:32:23

标签: mysql load

我使用以下命令将记录从xml文件加载到mysql db。但每次有些记录在表中插入为空。

LOAD XML LOCAL INFILE 'xml_file_path' INTO TABLE table_name ROWS IDENTIFIED BY '<column1>';

xml文件是:

<?xml version="1.0" encoding="UTF-8"?>
<data>
<column1>Brother</column1>
<column2>Alex</column2>
<column3>SONTOSH</column3>
---
---
</data>

如何避免db中的空条目?

1 个答案:

答案 0 :(得分:0)

尝试:

档案:data.xml

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <column1>Brother</column1>
    <column2>Alex</column2>
    <column3>SONTOSH</column3>
</data>

SQL:

mysql> CREATE TABLE `data` (
    ->   `column1` VARCHAR(40) DEFAULT NULL,
    ->   `column2` VARCHAR(40) DEFAULT NULL,
    ->   `column3` VARCHAR(40) DEFAULT NULL
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> LOAD XML INFILE '/path/to/data.xml'
    -> INTO TABLE `data`
    -> ROWS IDENTIFIED BY '<data>';
Query OK, 1 row affected (0.00 sec)

mysql> select `column1`, `column2`, `column3`
    -> from `data`;
+---------+---------+---------+
| column1 | column2 | column3 |
+---------+---------+---------+
| Brother | Alex    | SONTOSH |
+---------+---------+---------+
1 row in set (0.00 sec)