gpt4 book ai didi

mysql - 将带有重复标签的 XML 加载到 MySQL 中

转载 作者:行者123 更新时间:2023-11-29 22:32:48 24 4
gpt4 key购买 nike

我需要将此 XML 加载到 MySQL 数据库中。问题是 - 在“匹配”部分中,有两个重复序列,我需要将它们放入表的同一行。具体来说,我需要将“team_key”作为两个不同的列加载到我的表中:“team_key_1”和“team_key_2”。关于我如何做到这一点有什么想法吗?

<?xml version="1.0" encoding="UTF-8"?>
<fantasy_content xml:lang="en-US" yahoo:uri="http://fantasysports.yahooapis.com/fantasy/v2/league/123.l.12345/scoreboard;week=1" time="123.44789505005ms" copyright="Data provided by Yahoo! and STATS, LLC" refresh_rate="31" xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" xmlns="http://fantasysports.yahooapis.com/fantasy/v2/base.rng">
<league>
<league_key>123.l.12345</league_key>
<scoreboard>
<week>1</week>
<matchups count="1">
<matchup>
<week>1</week>
<week_start>2015-04-05</week_start>
<week_end>2015-04-12</week_end>
<teams count="2">
<team>
<team_key>123.l.12345.t.1</team_key>
</team>
<team>
<team_key>123.l.12345.t.2</team_key>
</team>
</teams>
</matchup>
</matchups>
</scoreboard>
</league>
</fantasy_content>

我今天使用以下查询:

load xml infile "d:/data.xml" into table teams rows identified by <matchup>

在本例中,如果我将列定义为“team_key_1”和“team_key_2”,则两者均为空。

如果我将一列定义为“team_key”,则仅填充该列。

我正在努力填充两列。

理想情况下,表格应如下所示:

league_key  | week |    team_key_1   |    team_key_2  |
------------------------------------------------------
123.l.12345 | 1 | 123.l.12345.t.1 | 123.l.12345.t.2

谢谢!

最佳答案

可能不是最干净的解决方案,但却是最简单的:您可以加载将“由比赛标识的行”更改为“由团队标识的行”的 XML,并将所有内容加载到临时表中。第二步:使用对值更新非临时表(您只需使用 select * from temp where mod(id,2)=0 填充它)第三步:填充奇数值:select * from temp where mod(id,2)=1

关于mysql - 将带有重复标签的 XML 加载到 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29678290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com