Heim > Datenbank > MySQL-Tutorial > Wie importiere ich XML-Dateien mit einer fehlenden ID-Spalte mithilfe von LOAD XML und XML_LOAD() in MySQL?

Wie importiere ich XML-Dateien mit einer fehlenden ID-Spalte mithilfe von LOAD XML und XML_LOAD() in MySQL?

Patricia Arquette
Freigeben: 2024-11-01 02:26:02
Original
221 Leute haben es durchsucht

How to Import XML Files into MySQL with a Missing ID Column Using LOAD XML and XML_LOAD()?

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

In diesem Szenario tritt beim Versuch, eine XML-Datei mit 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. Mit der folgenden SQL-Anweisung wird dies erreicht:

<code class="sql">LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);</code>
Nach dem Login kopieren

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:

<code class="sql">SET @xmlData = XML('<resultset statement="...">...</resultset>');

SELECT XML_LOAD(@xmlData, '/resultset/row',
                 '(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
                 INTO TABLE my_tablename);</code>
Nach dem Login kopieren

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 die Verwendung einer dieser 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 Generieren Sie eindeutige Bezeichner für jede Zeile.

Das obige ist der detaillierte Inhalt vonWie importiere ich XML-Dateien mit einer fehlenden ID-Spalte mithilfe von LOAD XML und XML_LOAD() in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage