2012-04-03 3 views
1

Ich bin völlig neu in MySQL und zu versuchen, mehrere Zeilen in MySQL-Tabelle mit Hilfe von XML-Datei einfügen, aber es nicht tun kann. Meine Abfrage wird erfolgreich ausgeführt, aber wenn null in Spalten in Tabelle eingefügt wird. Unten ist der Code für Abfrage und XML-Datei.Mehrere Zeilen einfügen in einer Tabelle in MySQL-Datenbank unter Verwendung von XML-Datei

set @xml := load_file('c:/xmldistributortransaction.xml'); 
insert into xmldistributortransaction  (DistributorId,ProductId,Remarks,Quantity,Price,DIscount,TaxName,Total,AddedDate) values (
     extractValue(@xml,'/resultset/row[1]/field[1]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[2]/text()'), 
    extractValue(@xml,'/resultset/row[1]/field[3]/text()'), 
    extractValue(@xml,'/resultset/row[1]/field[4]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[5]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[6]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[7]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[8]/text()'), 
     extractValue(@xml,'/resultset/row[1]/field[9]/text()')); 

XML-Datei

<?xml version="1.0"?> 
<resultset statement="select  DistributorId,ProductId,Remarks,Quantity,Price,DIscount,TaxName,Total,AddedDate from xmldistributortransaction"> 
<row> 
<field name="DistributorId">2</field> 
<field name="ProductId">20 </field> 
<field name="Remarks">remarks for second</field> 
<field name="Quantity" >300</field > 
<field name="Price">30</field> 
<field name="Discount">2 </field> 
<field name="TaxName">VAT4</field> 
<field name="Total">240</field> 
<field name="AddedDate">2012-04-02</field> 
</row> 
</resultset> 

Antwort

2

Sie können LOAD XML (MySQL) Befehl versuchen.

LOAD XML Anweisung Syntax, hinzugefügt in MySQL 5.5.

Zum Beispiel -

LOAD XML LOCAL INFILE 'xmldistributortransaction.xml' 
    INTO TABLE xmldistributortransaction 
    ROWS IDENTIFIED BY '<row>'; 
+0

seine nicht funktioniert ... –

+0

Was nicht funktioniert? – Devart

Verwandte Themen