1

我有一个 xml 文件:

<root>
<application>
    <app-name>Google App</app-name>
    <group>
        <group-name>MidasGoogleAppsUsers</group-name>
        <user>
            <username>knikkhoo</username>
            <username>devendrat</username>
        </user>
    </group>
</application>
<application>
    <app-name>MySql App</app-name>
    <group>
        <group-name>MidasSQLUsers</group-name>
        <user>
            <username>knikkhoo</username>
            <username>devendrat</username>
        </user>
    </group>
</application>
<application>
    <app-name>ESNutritio</app-name>
    <group>
        <group-name>MidasNutrition</group-name>
        <user>
            <username>knikkhoo</username>
            <username>devendrat</username>
        </user>
    </group>
</application>
 </root>

我有一个名为 test_xml 的表,其中存储了这个 XML:

Create table test_xml
 (
  ID int,
  XMLData text
 )

还有另一个表 UserAppliaction

 create table `test`.`UserApplication`( 
  `ID` int NOT NULL AUTO_INCREMENT , 
  `ApplicationName ` varchar(100) , 
  `GroupName` varchar(100) , 
  `UserName` varchar(100) , 
  PRIMARY KEY (`ID`)
  )

如何将这些数据存储到 UserApplication 表中。我是Mysql的新手。

4

1 回答 1

2

不要尝试在 SQL 中解析 XML。使用您最喜欢的应用程序编程语言解析该内容,然后使用 SQL 查询插入提取的数据,如下所示:

INSERT INTO UserApplication
SET ApplicationName = ?,
    GroupName = ?,
    UserName = ?

在大多数语言绑定中,您实际上可以像这样输入语句,包括引号,然后重复执行语句,为这些占位符传递不同的值。该库将负责正确转义您的所有数据。这种方法通常被称为“准备语句”,因为语句的准备和执行是不同的步骤。

于 2013-06-06T13:20:50.610 回答