2012-04-03 29 views
1

私はMySQLで全く新しいので、XMlファイルを使用してMySQLテーブルに複数の行を挿入しようとしましたが、実行できません。 クエリが正常に実行されますが、テーブルの列にnullが挿入された場合。以下は、クエリとXMLファイルのコードです。複数の行をXMLデータベースのテーブルに挿入する

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ファイル

<?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> 

答えて

2

あなたはLOADのXML(MySQLの)コマンドを試すことができます。

LOAD XML文の構文は、MySQL 5.5で追加されました。例えば

-

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

その動作していない...何を –

+0

が動作していませんか? – Devart

関連する問題