Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengimport Fail XML ke dalam Jadual MySQL Apabila Kiraan Lajur Tidak Padan?

Bagaimana untuk Mengimport Fail XML ke dalam Jadual MySQL Apabila Kiraan Lajur Tidak Padan?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 01:54:28674semak imbas

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

Mengimport Fail XML ke dalam Jadual MySQL dengan Fungsi XML_LOAD()

Masalah:

Mengimport fail XML ke dalam MySQL jadual dengan kiraan lajur yang tidak sepadan, mengakibatkan ralat: "Kiraan lajur tidak sepadan dengan kiraan nilai."

Punca:

Fail XML tidak mempunyai nilai lajur yang sepadan dengan lajur id dalam jadual pangkalan data, yang mempunyai sifat kenaikan automatik.

Penyelesaian:

Dengan mengecualikan lajur id semasa import, anda boleh bergantung pada fungsi auto-increment MySQL untuk mengisinya. Untuk melakukan ini, tentukan lajur yang anda ingin import dalam penyata LOAD XML, meninggalkan lajur id.

Sintaks:

LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...);

Contoh:

Dalam kes anda, pernyataan berikut akan mengimport fail XML ke dalam jadual my_tablename, tidak termasuk lajur id:

LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);

Pengendalian Import XML yang Lebih Pintar:

Sebagai alternatif kepada fungsi LOAD XML, anda boleh mempertimbangkan untuk menggunakan utiliti XML ke MySQL yang disediakan oleh MariaDB. Ia menawarkan beberapa kelebihan, termasuk:

  • Penyesuaian pemetaan lajur
  • Ralat pengendalian dan pengesahan
  • Sokongan untuk skema XSD

Pemasangan dan Penggunaan:

  1. Pasang pakej xml2mysql untuk MariaDB:
sudo apt-get install mariadb-server-xml2mysql
  1. Import fail XML menggunakan arahan berikut:
mysql -u username -p password database_name < /pathtofile/file.xml

Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail XML ke dalam Jadual MySQL Apabila Kiraan Lajur Tidak Padan?. 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