"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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() ?

Publié le 2024-11-09
Parcourir:989

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 :

LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);

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 :

SET @xmlData = XML('...');

SELECT XML_LOAD(@xmlData, '/resultset/row',
                 '(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
                 INTO TABLE my_tablename);

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'un ou l'autre Parmi 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3