相关疑难解决方法(0)

使用不一致的列名称加载XML LOCAL INFILE

MySQL有一个很好的声明:LOAD XML LOCAL INFILE

例如,如果您有此表:

 CREATE TABLE person (
    person_id INT NOT NULL PRIMARY KEY,
    fname VARCHAR(40) NULL,
    lname VARCHAR(40) NULL
 );
Run Code Online (Sandbox Code Playgroud)

以及名为person.xml的以下XML文件:

<list>
      <person>
          <person_id>1</person_id>
          <fname>Mikael</fname>
          <lname>Ronström</lname>
      </person>
      <person>
          <person_id>2</person_id>
          <fname>Lars</fname>
          <lname>Thalmann</lname>
      </person>
</list>
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果XML文件中的列名与表中的列名不同,该怎么办?例如:

<list>
      <person>
          <PersonId>1</PersonId>
          <FirstName>Mikael</FirstName>
          <LastName>Ronström</LastName>
      </person>
      <person>
          <PersonId>2</PersonId>
          <FirstName>Lars</FirstName>
          <LastName>Thalmann</LastName>
      </person>
</list>
Run Code Online (Sandbox Code Playgroud)

如何在不操作XML文件的情况下使用MySQL语句完成相同的操作?我到处搜索但找不到答案.

xml mysql

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×1

xml ×1