Maison  >  Article  >  base de données  >  Comment importer des fichiers XML dans MySQL avec une colonne d'ID manquante à l'aide de LOAD XML et XML_LOAD() ?

Comment importer des fichiers XML dans MySQL avec une colonne d'ID manquante à l'aide de LOAD XML et XML_LOAD() ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 02:26:02142parcourir

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

Importation de fichiers XML dans MySQL à l'aide de la fonction XML_LOAD()

Dans ce scénario, vous rencontrez une erreur en essayant d'importer un fichier XML dans une table de base de données MySQL à l'aide la commande CHARGER XML. Le problème est dû à une inadéquation entre le nombre de champs de la table et les valeurs du fichier XML, la table ayant un champ d'identification à incrémentation automatique supplémentaire.

Pour résoudre cette erreur, vous pouvez spécifier le champs à importer explicitement à l'aide de l'instruction LOAD XML. L'instruction SQL suivante accomplira cela :

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

En spécifiant les noms de champs, vous demandez à MySQL d'ignorer le champ d'identification manquant pendant le processus d'importation. Le champ id sera automatiquement renseigné avec des valeurs incrémentielles basées sur les paramètres d'incrémentation automatique de la table.

Méthode alternative avec mappage de colonnes

Si vous le souhaitez, vous pouvez également utiliser le Fonction XML_LOAD() pour importer des données XML dans MySQL. Cette fonction offre plus de flexibilité et permet un mappage de colonnes explicite :

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

Dans ce cas, la fonction XML_LOAD() analyse les données XML et remplit la table my_tablename en fonction du mappage de colonnes spécifié dans la clause INTO TABLE. .

En utilisant l'une ou l'autre de ces méthodes, vous pouvez importer avec succès des données XML dans votre table de base de données MySQL, en ignorant le champ d'identification manquant et en vous appuyant sur la fonction d'incrémentation automatique pour générer des identifiants uniques pour chaque ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn