Maison > base de données > tutoriel mysql > Pourquoi mon instruction SQL INSERT entraîne-t-elle une erreur « Le nombre de colonnes ne correspond pas au nombre de valeurs » ?

Pourquoi mon instruction SQL INSERT entraîne-t-elle une erreur « Le nombre de colonnes ne correspond pas au nombre de valeurs » ?

Susan Sarandon
Libérer: 2024-12-13 22:34:11
original
830 Les gens l'ont consulté

Why Does My SQL INSERT Statement Result in a

Erreurs inattendues lors de l'importation de données SQL : "Le nombre de colonnes ne correspond pas au nombre de valeurs"

Lors de la tentative d'importation de données dans une base de données, vous pouvez rencontrer un message d'erreur indiquant "Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1." Ce problème déroutant peut survenir lorsque le nombre de valeurs que vous insérez ne correspond pas au nombre de colonnes dans la table cible.

Considérez le code SQL suivant :

INSERT INTO wp_posts VALEURS (5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>

En essayant d'exécuter ceci, vous pouvez recevoir l'erreur susmentionnée. Pour comprendre la cause, décomposons la syntaxe :

  • INSERT INTO wp_posts... : Cette instruction spécifie que vous souhaitez insérer des données dans la table wp_posts.
  • (5, 5, '2005-04-11 09:54:35', '2005-04-11 09:54:35' 17:54:35') : Ce sont les valeurs que vous essayez d'insérer.

Maintenant, examinons la définition de la table de wp_posts. Supposons que la table ait la structure suivante :

CREATE TABLE `wp_posts` (
  `ID` int(11) NOT NULL,
  `post_author` int(11) NOT NULL,
  `post_date` datetime NOT NULL,
  `post_date_gmt` datetime NOT NULL,
  ...
);
Copier après la connexion

Comme vous pouvez le voir, il y a quatre colonnes dans la table wp_posts : ID, post_author, post_date et post_date_gmt. Cependant, les valeurs que vous tentez d'insérer ne spécifient que deux colonnes, correspondant à ID et post_date.

Résolution de l'erreur

Pour résoudre ce problème, vous devez pour spécifier toutes les colonnes du tableau que vous souhaitez remplir. Si vous ne souhaitez pas insérer de valeur pour une colonne spécifique, vous pouvez utiliser le mot-clé NULL pour représenter une valeur manquante.

Par conséquent, la syntaxe correcte pour insérer des données dans la table wp_posts serait :

INSERT INTO wp_posts (ID, post_author, post_date, post_date_gmt)<br>VALEURS (5, NULL, '2005-04-11 09:54:35', '2005-04-11 17:54:35')<br>

En spécifiant explicitement tous les les colonnes et en incluant NULL pour les colonnes que vous ne souhaitez pas modifier, vous pouvez réussir à insérer des données dans la base de données sans rencontrer d'incompatibilité du nombre de colonnes erreurs.

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!

source:php.cn
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