我有一個看起來像這樣的XML文件:如何使用XML_LOAD()將XML文件導入到MySQL數據庫表中;功能
<?xml version="1.0" encoding="UTF-8"?>
<resultset statement="YOUR SQL STATEMENTS TO GENERATE THIS XML FILE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="personal_number">539</field>
<field name="firstname">Name</field>
<field name="lastname">Surname</field>
<field name="email">email.domain.com</field>
<field name="start_time">2011-04-02 13:30:00</field>
<field name="end_time">2011-04-02 18:15:00</field>
<field name="employee_category">1,2,4,5,22,37,38,39,41,43,44</field>
</row>
<row>
<field name="personal_number">539</field>
<field name="firstname">Name</field>
<field name="lastname">Surname</field>
<field name="email">email.domain.com</field>
<field name="start_time">2011-04-02 13:30:00</field>
<field name="end_time">2011-04-02 18:15:00</field>
<field name="employee_category">1,2,4,5,22,37,38,39,41,43,44</field>
</row>
<row>
<field name="personal_number">539</field>
<field name="firstname">Name</field>
<field name="lastname">Surname</field>
<field name="email">email.domain.com</field>
<field name="start_time">2011-04-02 13:30:00</field>
<field name="end_time">2011-04-02 18:15:00</field>
<field name="employee_category">1,2,4,5,22,37,38,39,41,43,44</field>
</row>
我試圖用SQL語句導入它在MySQL:
use databasename;
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename;
表my_tablename具有以下字段:
id (auto increment id)
personal_number(varchar)
firstname(varchar)
lastname(varchar)
email(varchar)
start_time(varchar)
end_time(varchar)
employee_category(varchar)
我得到的錯誤: 錯誤代碼:1136 列數並不在行匹配值計數1
我使用MySQL的56年5月1日
我假設,因爲數據庫表有字段id,這是不存在的,就會出現此錯誤XML文件。如何使用內置函數的MySQL查詢導入此XML文件,以便在導入期間跳過id列並依賴id列的自動遞增函數? 有沒有更聰明的方式處理XML文件導入im MySQL? 也許有更好的語句允許指定列映射?
謝謝!
for mysql 5.1閱讀此:https://dev.mysql.com/doc/refman/5.5/en/load-xml.html「用戶評論」部分 – hakre 2015-03-28 20:34:43