Rumah > Artikel > pangkalan data > Bagaimana untuk Mengimport Fail XML ke dalam Jadual MySQL Apabila Kiraan Lajur Tidak Padan?
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:
Pemasangan dan Penggunaan:
sudo apt-get install mariadb-server-xml2mysql
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!