将XML插入MySQL

时间:2014-05-14 17:15:53

标签: mysql xml

我正在尝试将一些XML插入到MySQL表中但是遇到了一些麻烦,因为我只想插入某些属性而不是XML文件中的所有属性。

这是XML的子集: <rosters> <team id="1" team_name="Ravens"> <players> <player id="28" jersey_number="34" first_name="Joe" last_name="Flacco"/> <player id="4" jersey_number="43" first_name="Ray" last_name="Lewis"/> </players> </team> <team id="2" team_name="Broncos"> <players> <player id="9" jersey_number="5" first_name="Peyton" last_name="Manning"/> </players> </team> </rosters>

我想循环每个团队,并在团队中插入具有某些属性的玩家。

这些是MySQL表中的列:player_id(主键和自动增量),first_name,last_name和玩家各自的团队。

插入属性后,这将是所需的表:

player_id, first_name, last_name,   team
        1,        Joe,    Flacco,  Ravens
        2,        Ray,     Lewis,  Ravens
        3,     Peyton,   Manning, Broncos

我是XML新手,我发现的大多数答案通常会将所有元素插入到单个表中。如果有人可以帮助我解决我的具体问题或指导我使用资源,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

LOAD XML正是您要找的。

LOAD DATA命令类似(只需在提供的示例中将DATA替换为XML):

  

您还可以通过将输入值分配给用户变量而不将变量分配给表格列来丢弃输入值:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @dummy, column2, @dummy, column3);