Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengimport Fail XML ke MySQL dengan Lajur ID Hilang Menggunakan LOAD XML dan XML_LOAD()?

Bagaimana untuk Mengimport Fail XML ke MySQL dengan Lajur ID Hilang Menggunakan LOAD XML dan XML_LOAD()?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 02:26:02142semak imbas

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

Mengimport Fail XML ke MySQL Menggunakan Fungsi XML_LOAD()

Dalam senario ini, anda menghadapi ralat semasa cuba mengimport fail XML ke dalam jadual pangkalan data MySQL menggunakan arahan LOAD XML. Isu ini timbul disebabkan oleh ketidakpadanan antara bilangan medan dalam jadual dan nilai dalam fail XML, dengan jadual mempunyai medan id kenaikan automatik tambahan.

Untuk menangani ralat ini, anda boleh menentukan medan untuk diimport secara eksplisit menggunakan pernyataan LOAD XML. Pernyataan SQL berikut akan mencapai ini:

<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>

Dengan menyatakan nama medan, anda mengarahkan MySQL untuk melangkau medan id yang hilang semasa proses import. Medan id akan diisi secara automatik dengan nilai tambahan berdasarkan tetapan autokenaikan jadual.

Kaedah Ganti dengan Pemetaan Lajur

Jika mahu, anda juga boleh menggunakan Fungsi XML_LOAD() untuk mengimport data XML ke dalam MySQL. Fungsi ini memberikan lebih fleksibiliti dan membolehkan pemetaan lajur eksplisit:

<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>

Dalam kes ini, fungsi XML_LOAD() menghuraikan data XML dan mengisi jadual my_tablename berdasarkan pemetaan lajur yang dinyatakan dalam klausa INTO TABLE .

Dengan menggunakan salah satu kaedah ini, anda boleh berjaya mengimport data XML ke dalam jadual pangkalan data MySQL anda, melangkau medan id yang hilang dan bergantung pada ciri kenaikan automatik untuk menjana pengecam unik bagi setiap baris.

Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail XML ke MySQL dengan Lajur ID Hilang Menggunakan LOAD XML dan XML_LOAD()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn