Maison > Article > base de données > Comment importer un fichier XML dans une table MySQL lorsque le nombre de colonnes ne correspond pas ?
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, ...);
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);
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 :
Installation et utilisation :
sudo apt-get install mariadb-server-xml2mysql
mysql -u username -p password database_name < /pathtofile/file.xml
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!