Heim  >  Artikel  >  Datenbank  >  Wie importiere ich eine XML-Datei in eine MySQL-Tabelle, wenn die Spaltenanzahl nicht übereinstimmt?

Wie importiere ich eine XML-Datei in eine MySQL-Tabelle, wenn die Spaltenanzahl nicht übereinstimmt?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 01:54:28678Durchsuche

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

XML-Dateien in MySQL-Tabellen mit der Funktion XML_LOAD() importieren

Problem:

Importieren einer XML-Datei in MySQL Tabelle mit nicht übereinstimmenden Spaltenanzahlen, was zu einem Fehler führt: „Spaltenanzahl stimmt nicht mit Wertanzahl überein.“

Ursache:

Der XML-Datei fehlt ein Spaltenwert, der entspricht der ID-Spalte in der Datenbanktabelle, die über eine Eigenschaft zur automatischen Inkrementierung verfügt.

Lösung:

Durch den Ausschluss der ID-Spalte während des Imports können Sie sich darauf verlassen auf die automatische Inkrementierungsfunktion von MySQL, um es zu füllen. Geben Sie dazu in der LOAD XML-Anweisung die Spalten an, die Sie importieren möchten, und lassen Sie die ID-Spalte weg.

Syntax:

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

Beispiel:

In Ihrem Fall importiert die folgende Anweisung die XML-Datei in die Tabelle „my_tablename“, mit Ausnahme der ID-Spalte:

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

Intelligentere Handhabung des XML-Imports:

Als Alternative zur LOAD XML-Funktion können Sie die Verwendung des von MariaDB bereitgestellten XML-to-MySQL-Dienstprogramms in Betracht ziehen. Es bietet mehrere Vorteile, darunter:

  • Anpassung der Spaltenzuordnung
  • Fehlerbehandlung und -validierung
  • Unterstützung für XSD-Schemas

Installation und Verwendung:

  1. Installieren Sie das xml2mysql-Paket für MariaDB:
sudo apt-get install mariadb-server-xml2mysql
  1. Importieren Sie die XML-Datei mit dem folgenden Befehl:
mysql -u username -p password database_name < /pathtofile/file.xml

Das obige ist der detaillierte Inhalt vonWie importiere ich eine XML-Datei in eine MySQL-Tabelle, wenn die Spaltenanzahl nicht übereinstimmt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn