Maison > base de données > tutoriel mysql > Comment importer un fichier XML dans une table MySQL lorsque le nombre de colonnes ne correspond pas ?

Comment importer un fichier XML dans une table MySQL lorsque le nombre de colonnes ne correspond pas ?

Linda Hamilton
Libérer: 2024-10-30 01:54:28
original
806 Les gens l'ont consulté

How to Import an XML File into a MySQL Table When Column Counts Don't Match?

Importation de fichiers XML dans des tables MySQL avec la fonction XML_LOAD()

Problème :

Importation d'un fichier XML dans MySQL table avec des nombres de colonnes incompatibles, ce qui entraîne une erreur : "Le nombre de colonnes ne correspond pas au nombre de valeurs."

Cause :

Le fichier XML ne contient pas une valeur de colonne qui correspond à la colonne id de la table de la base de données, qui possède une propriété d'auto-incrémentation.

Solution :

En excluant la colonne id lors de l'import, vous pouvez compter sur la fonction d'auto-incrémentation de MySQL pour le remplir. Pour ce faire, spécifiez les colonnes que vous souhaitez importer dans l'instruction LOAD XML, en omettant la colonne id.

Syntaxe :

LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...);
Copier après la connexion

Exemple :

Dans votre cas, l'instruction suivante importera le fichier XML dans la table my_tablename, à l'exclusion de la colonne id :

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

Gestion plus intelligente des importations XML :

Comme alternative à la fonction LOAD XML, vous pouvez envisager d'utiliser l'utilitaire XML to MySQL fourni par MariaDB. Il offre plusieurs avantages, notamment :

  • Personnalisation du mappage de colonnes
  • Gestion et validation des erreurs
  • Prise en charge des schémas XSD

Installation et utilisation :

  1. Installez le package xml2mysql pour MariaDB :
sudo apt-get install mariadb-server-xml2mysql
Copier après la connexion
  1. Importez le fichier XML à l'aide de la commande suivante :
mysql -u username -p password database_name < /pathtofile/file.xml
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal