首頁  >  文章  >  資料庫  >  當列數不符時如何將 XML 檔案匯入 MySQL 表?

當列數不符時如何將 XML 檔案匯入 MySQL 表?

Linda Hamilton
Linda Hamilton原創
2024-10-30 01:54:28678瀏覽

How to Import an XML File into a MySQL Table When Column Counts Don't Match?

使用XML_LOAD() 函數將XML 檔案匯入MySQL 表

問題:

將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 實用程式。它具有多種優勢,包括:

  • 列映射自訂
  • 錯誤處理和驗證
  • 支援XSD 架構

安裝和使用:

  1. 安裝MariaDB的xml2mysql包:
sudo apt-get install mariadb-server-xml2mysql
  1. 使用以下命令導入XML文件:
mysql -u username -p password database_name < /pathtofile/file.xml

以上是當列數不符時如何將 XML 檔案匯入 MySQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn