ホームページ > データベース > mysql チュートリアル > LOAD XML と XML_LOAD() を使用して ID 列が欠落している XML ファイルを MySQL にインポートするにはどうすればよいですか?

LOAD XML と XML_LOAD() を使用して ID 列が欠落している XML ファイルを MySQL にインポートするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-01 02:26:02
オリジナル
240 人が閲覧しました

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

XML_LOAD() 関数を使用した MySQL への XML ファイルのインポート

このシナリオでは、次を使用して XML ファイルを MySQL データベース テーブルにインポートしようとしているときにエラーが発生します。 LOAD XML コマンド。この問題は、テーブルに追加の自動インクリメント ID フィールドがあり、テーブル内のフィールド数と XML ファイル内の値が一致しないために発生します。

このエラーに対処するには、フィールドは LOAD XML ステートメントを使用して明示的にインポートされます。次の SQL ステートメントでこれを実現します。

<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>
ログイン後にコピー

フィールド名を指定することで、インポート プロセス中に欠落している ID フィールドをスキップするように MySQL に指示します。 ID フィールドには、テーブルの自動インクリメント設定に基づいて増分値が自動的に入力されます。

列マッピングによる代替方法

必要に応じて、 XML データを MySQL にインポートする XML_LOAD() 関数。この関数により柔軟性が向上し、明示的な列マッピングが可能になります。

<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>
ログイン後にコピー

この場合、XML_LOAD() 関数は XML データを解析し、INTO TABLE 句で指定された列マッピングに基づいて my_tablename テーブルにデータを設定します。 .

これらの方法のいずれかを利用すると、欠落している ID フィールドをスキップし、自動インクリメント機能を利用して各行に一意の識別子を生成して、XML データを MySQL データベース テーブルに正常にインポートできます。

以上がLOAD XML と XML_LOAD() を使用して ID 列が欠落している XML ファイルを MySQL にインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート