0

xml データを入力したい mysql データベースがありますが、別のテーブルの値に応じてこの情報を変更したいと考えています。

xml ファイルは次のようになります。

D<DATAROW num="1">
<FILM_DATE>20/04/2013</FILM_DATE> 
<FILM_NAME>DAYS OF THUNDER</FILM_NAME> 
<FILM_REVENUE>100</ FILM_REVENUE >
D<DATAROW num="2">
<FILM_DATE>21/04/2013</FILM_DATE> 
<FILM_NAME>TOP GUN</FILM_NAME> 
<FILM_REVENUE>120</ FILM_REVENUE > 
D<DATAROW num="3">
<FILM_DATE>20/04/2013</FILM_DATE> 
<FILM_NAME> MISSION IMPOSSIBLE </FILM_NAME> 
<FILM_REVENUE>100</ FILM_REVENUE >

たとえば、映画のタイトルと日付を含む xml ファイルを映画の詳細テーブルに読み込みたいとします。

Load XML Local Infile ‘C:\film_details.xml
Into table film details

映画の名前をテーブルの映画の詳細にロードするのではなく、映画のタイトルと呼ばれる別のテーブルの ID を使用します。

+----+--------------------+
| ID |     Film Name      |
+----+--------------------+
|  1 | Vanilla Sky        |
|  2 | Days of Thunder    |
|  3 | Top Gun            |
|  4 | Mission Impossible |
+----+--------------------+

Film Details テーブルを次のようにしたい

+------------+-----------+---------+
|    Date    | Film Name | Revenue |
+------------+-----------+---------+
| 20/04/2013 |         2 |     100 |
| 21/04/2013 |         3 |     120 |
| 20/04/2013 |         4 |     100 |
+------------+-----------+---------+

テーブル映画の詳細の映画名列は、XML のそれとは異なることに注意してください (「_」がありません)。

mysql データベースに挿入する前に xml データを操作する方法はありますか?

4

1 に答える 1

0

最初に XML ファイルを一時テーブルにロードすることをお勧めします。その後、参照テーブルからコードを取得するには、単純なクエリで十分です。

このようにして、あなたが抱えている両方の問題を解決できます。外部キーと異なるフィールド名。

于 2013-04-25T14:14:46.010 に答える