In diesem Szenario tritt beim Versuch, eine XML-Datei in eine MySQL-Datenbanktabelle zu importieren, ein Fehler auf den LOAD XML-Befehl. Das Problem entsteht aufgrund einer Diskrepanz zwischen der Anzahl der Felder in der Tabelle und den Werten in der XML-Datei, wobei die Tabelle über ein zusätzliches ID-Feld für die automatische Inkrementierung verfügt.
Um diesen Fehler zu beheben, können Sie Folgendes angeben Felder, die explizit mit der LOAD XML-Anweisung importiert werden sollen. Die folgende SQL-Anweisung erreicht dies:
LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);
Durch die Angabe der Feldnamen weisen Sie MySQL an, das fehlende ID-Feld während des Importvorgangs zu überspringen. Das ID-Feld wird automatisch mit inkrementellen Werten gefüllt, die auf den Einstellungen für die automatische Inkrementierung der Tabelle basieren.
Alternative Methode mit Spaltenzuordnung
Bei Bedarf können Sie auch die verwenden XML_LOAD()-Funktion zum Importieren von XML-Daten in MySQL. Diese Funktion bietet mehr Flexibilität und ermöglicht eine explizite Spaltenzuordnung:
SET @xmlData = XML('... ');
SELECT XML_LOAD(@xmlData, '/resultset/row',
'(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
INTO TABLE my_tablename);
In diesem Fall analysiert die Funktion XML_LOAD() die XML-Daten und füllt die Tabelle my_tablename basierend auf der in der INTO TABLE-Klausel angegebenen Spaltenzuordnung.
Durch Verwendung von beidem Mit diesen Methoden können Sie XML-Daten erfolgreich in Ihre MySQL-Datenbanktabelle importieren, indem Sie das fehlende ID-Feld überspringen und sich auf die Funktion zur automatischen Inkrementierung verlassen, um eindeutige Kennungen für jedes Feld zu generieren Reihe.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3