問題:
將XML 檔案匯入表的列計數不匹配,導致錯誤:「列計數與值計數不符。」
原因:
XML 檔案缺少一個列值,該列值對應資料庫表中的id列,具有自增屬性。
解決方案:
透過在匯入時排除id列,可以依賴使用 MySQL 的自動增量函數來填充它。為此,請在 LOAD XML 語句中指定要匯入的資料列,並省略 id 欄位。
語法:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...);
範例:
在您的情況下,以下語句會將XML 檔案匯入到my_tablename 表中,不包括id 欄位:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);
更聰明的XML 導入處理:
作為LOAD XML 函數的替代方案,您可以考慮使用MariaDB 提供的XML to MySQL 實用程式。它具有多種優勢,包括:
安裝和使用:
sudo apt-get install mariadb-server-xml2mysql
mysql -u username -p password database_name < /pathtofile/file.xml
以上是當列數不符時如何將 XML 檔案匯入 MySQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!