Ich versuche, XML-Datei in mysql zu laden.
Meine XML sieht unten wie:laden xml infile mysql
<?xml version="1.0" encoding="UTF-8"?>
<TEST>
<DATABASE>
<CUSTOMERS>
<CUSTOMER l_name="aa" f_name="aaaa">
<adr>
<street txt="mainstreet" zipcode="11111"/>
</adr>
<adr>
<street txt="secondstreet" zipcode="11111"/>
</adr>
</CUSTOMER>
<CUSTOMER l_name="bb" f_name="bbbb">
<adr>
<street txt="teststreet" zipcode="22222"/>
</adr>
</CUSTOMER>
<CUSTOMER l_name="cc" f_name="cccc"/>
</CUSTOMERS>
</DATABASE>
</TEST>
Mein Code die Datei zu importieren in der mysql ist:
LOAD XML LOCAL INFILE '/Applications/MAMP/htdocs/uebung/customer.xml'
INTO TABLE customer
ROWS IDENTIFIED BY '<CUSTOMER>';
So funktioniert es. Aber wenn ich zwei Adressen für einen Kunden habe, dann ist es nur der letzte in der Datenbank. Das heißt, es lädt nur für den Kunden mit der Adresse l_name = aa
die Adresse mit der zweiten Straße. Die Adresse mit Mainstream ist nicht in der DB geladen.
Wie muss ich meinen MYSQL-Code ändern?
Vielen Dank für Ihre Antwort. Das Problem ist, dass ich das XML in diesem Format bekomme, wie ich es in meiner Frage geschrieben habe. Gibt es keine andere Chance, es zu lösen? Ich habe es vorher mit PHP versucht, aber es ist sehr kompliziert, weil diese XML nur ein einfaches Beispiel ist. In Wirklichkeit könnte die XML-Datei verschachtelter sein. Wenn es möglich ist, möchte ich es direkt in mysql tun. – kartal