我有一個(gè)看起來像這樣的XML文件: <?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語句將其導(dǎo)入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)我收到錯(cuò)誤消息:錯(cuò)誤代碼:1136列數(shù)與第1行的值數(shù)不匹配我正在使用MySQL 5.1.56我認(rèn)為發(fā)生此錯(cuò)誤是因?yàn)閿?shù)據(jù)庫表具有字段ID,該字段ID在XML文件中不存在。如何使用內(nèi)置函數(shù)的MySQL查詢來導(dǎo)入此XML文件,以使其在導(dǎo)入過程中跳過id列并依賴id列的自動(dòng)遞增功能?是否有一些更聰明的方法來處理MySQL中的XML文件導(dǎo)入?也許有更好的語句可以指定列映射?
2 回答

慕妹3146593
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以指定如下字段:
LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, ...);

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
由于ID是自動(dòng)遞增的,因此您還可以將ID = NULL指定為
LOAD XML LOCAL INFILE'/pathtofile/file.xml'INTO TABLE my_tablename SET ID = NULL;
添加回答
舉報(bào)
0/150
提交
取消