Maison >base de données >tutoriel mysql >Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1 - Comment résoudre l'erreur MySQL : le numéro de colonne ne correspond pas à la valeur

Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1 - Comment résoudre l'erreur MySQL : le numéro de colonne ne correspond pas à la valeur

PHPz
PHPzoriginal
2023-10-05 11:40:542295parcourir

Column count doesn't match value count at row 1 - 如何解决MySQL报错:列数与值不匹配

Comment résoudre l'erreur MySQL : le nombre de colonnes ne correspond pas à la valeur, des exemples de code spécifiques sont nécessaires

Dans le processus d'utilisation de la base de données MySQL pour les opérations sur les données, vous rencontrerez parfois le message d'erreur : "Colonne le nombre ne correspond pas au nombre de valeurs à la ligne 1", ce qui signifie que le nombre de colonnes ne correspond pas au nombre de valeurs. Cette erreur se produit généralement lors de l'insertion de données et le nombre de colonnes spécifié n'est pas cohérent avec le nombre de valeurs insérées. Cet article décrit des solutions spécifiques et fournit des exemples de code.

  1. Vérifiez si le nombre de colonnes et le nombre de valeurs correspondent
    Tout d'abord, nous devons vérifier si le nombre de colonnes spécifié dans l'instruction d'insertion et le nombre de valeurs insérées correspondent. Par exemple, si 5 colonnes sont spécifiées dans l'instruction insert, le nombre de valeurs insérées doit également être de 5. S'ils ne correspondent pas, une erreur sera déclenchée.

Ce qui suit est un exemple :

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2);

Dans cet exemple, l'instruction insert spécifie 3 colonnes (colonne1, colonne2, colonne3), mais n'insère que 2 valeurs (valeur1, valeur2), donc une erreur sera déclenchée. "Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1".

Pour résoudre ce problème, nous devons nous assurer que le nombre de colonnes spécifié dans l'instruction insert est cohérent avec le nombre de valeurs insérées. Dans l'exemple ci-dessus, nous pouvons modifier l'instruction insert en :

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);

Cela résoudra l'erreur.

  1. Si vous insérez plusieurs lignes de données
    Si vous souhaitez insérer plusieurs lignes de données, vous devez vous assurer que le nombre de colonnes et de valeurs dans chaque ligne sont cohérents. Par exemple, si 3 colonnes sont spécifiées dans l'instruction insert, le nombre de valeurs insérées dans chaque ligne doit également être de 3.

Voici un exemple :

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2), (value3, value4, value5);

Dans cet exemple, l'instruction insert spécifie 3 colonnes (colonne1, colonne2, colonne3), mais la première ligne insère 2 valeurs (valeur1, valeur2) et la deuxième ligne y insère sont 3 valeurs (valeur3, valeur4, valeur5), donc l'erreur "Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1" sera déclenchée.

Pour résoudre ce problème, nous devons nous assurer que le nombre de valeurs insérées dans chaque ligne est cohérent avec le nombre de colonnes spécifié. Dans l'exemple ci-dessus, nous pouvons modifier l'instruction insert en :

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6);

Cela résoudra l'erreur.

  1. Utilisez les valeurs par défaut ou NULL
    Si certaines colonnes sont spécifiées dans l'instruction d'insertion mais qu'aucune valeur correspondante n'est fournie, vous pouvez envisager d'utiliser des valeurs par défaut ou NULL pour résoudre l'erreur. Pour les colonnes avec des valeurs par défaut, si l'instruction insert ne spécifie pas de valeur, la valeur par défaut sera utilisée ; pour les colonnes qui autorisent NULL, NULL peut être explicitement spécifié dans l'instruction insert.

Ce qui suit est un exemple :

INSERT INTO table_name (column1, column2, column3) VALUES (value1, DEFAULT, value3);

Dans cet exemple, l'instruction insert spécifie 3 colonnes (colonne1, colonne2, colonne3), mais la deuxième colonne ne fournit pas de valeur spécifique, mais utilise le mot-clé DEFAULT pour utiliser la valeur par défaut. . De cette façon, vous pouvez éviter les erreurs.

  1. Utilisez l'instruction INSERT INTO SELECT
    Si vous souhaitez sélectionner des données d'autres tables pour l'insertion et que le nombre de colonnes et le nombre de valeurs sont incohérents, vous pouvez envisager d'utiliser l'instruction INSERT INTO SELECT.

Voici un exemple :

INSERT INTO table_name (column1, column2) SELECT column1, column2 FROM other_table;

Dans cet exemple, l'instruction insert spécifie 2 colonnes (colonne1, colonne2), mais les données sélectionnées proviennent de la table other_table et contiennent plus de colonnes. En utilisant l'instruction INSERT INTO SELECT, nous pouvons sélectionner les colonnes requises pour l'insertion, évitant ainsi le problème d'incohérence entre le nombre de colonnes et le nombre de valeurs.

Résumé :
Lorsque nous rencontrons l'erreur MySQL "Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1", nous pouvons résoudre le problème grâce aux méthodes suivantes :

  • Vérifiez si le nombre de colonnes et le nombre de valeurs match ;
  • Assurez-vous d'insérer plus de données lors de la ligne, le nombre de colonnes et de valeurs dans chaque ligne doit être cohérent ;
  • Utilisez les valeurs par défaut ou NULL pour remplir les valeurs manquantes ; instruction pour sélectionner les colonnes requises pour l’insertion.
  • Ci-dessus sont quelques méthodes pour résoudre l'erreur MySQL "Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1", et fournissent des exemples de code spécifiques. J'espère que cela aide!

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