如何使用 LOAD XML 和 XML_LOAD() 將缺少 ID 列的 XML 檔案匯入 MySQL?

Patricia Arquette
發布: 2024-11-01 02:26:02
原創
142 人瀏覽過

How to Import XML Files into MySQL with a Missing ID Column Using LOAD XML and XML_LOAD()?

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

在這種情況下,您在嘗試使用下列命令將XML 檔案匯入MySQL 資料庫表時遇到錯誤載入XML 指令。出現此問題的原因是表中的欄位數量與 XML 檔案中的值不匹配,且表中多了一個自動遞增 id 欄位。

要解決此錯誤,您可以指定要使用 LOAD XML 語句明確匯入的欄位。以下 SQL 語句將完成此操作:

<code class="sql">LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);</code>
登入後複製

透過指定欄位名稱,您可以指示 MySQL 在匯入過程中跳過缺少的 id 欄位。 id 欄位將根據資料表的自動增量設定自動填入增量值。

列對映的替代方法

如果需要,您也可以使用XML_LOAD() 函數將 XML 資料匯入 MySQL。此函數提供了更大的靈活性並允許明確列映射:

<code class="sql">SET @xmlData = XML('<resultset statement="...">...</resultset>');

SELECT XML_LOAD(@xmlData, '/resultset/row',
                 '(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
                 INTO TABLE my_tablename);</code>
登入後複製

在這種情況下,XML_LOAD() 函數解析XML 資料並根據INTO TABLE 子句中指定的列映射填充my_tablename 表.

透過使用這兩種方法中的任何一種,您都可以成功地將XML 資料匯入到MySQL 資料庫表中,跳過缺少的id欄位並依靠自動增量功能為每一行產生唯一識別碼。

以上是如何使用 LOAD XML 和 XML_LOAD() 將缺少 ID 列的 XML 檔案匯入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!