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:
Installation und Verwendung:
sudo apt-get install mariadb-server-xml2mysql
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!