L'erreur "Column count doesn't match value count at row 1"

Liens commerciaux :

Cette erreur se produit lorsque vous tentez d'insérer une requête alors que vous n'avez pas spécifié le nombre de champs corrects lors de l'insertion. Si votre table comporte par exemple 4 champs, vous devez spécifier une valeur pour chacun des champs dans la requête. Mettons que votre table comporte trois champs et ait cette structure :

Structure de la table exemple

Prenons ensuite l'exemple d'une requête qui donne une erreur :

INSERT INTO table VALUES('','')

Cette requête donne une erreur car nous avons seulement spécifié deux champs dans l'insertion de valeurs, alors que la table en comporte trois. Pour résoudre ce problème, nous avons plusieurs solutions :

Spécifier le nombre de champs total dans la requête :

Même si on ne souhaite pas leur attribuer de valeur (ou alors leur valeur par défaut, ce qui est le cas chez nous car nous avons mis 0 comme valeur par défaut), on peut procéder de cette façon. La requête devient la suivante :
INSERT INTO table VALUES('','','')

On peut également spécifier quels champs seront impactés pour le remplissage

Les autres prendront leur valeur par défaut. La requête peut prendre alors cette forme :
INSERT INTO table(id_source,id_voteur) VALUES('','')

Dans notre exemple seuls les champs id_source et id_voteur se verront attribuer la valeur de notre choix (ici la valeur par défaut).

Il reste une autre alternative :

dans le cas où vous avez spécifié pour tous vos champs les valeurs par défaut, vous pouvez insérer toujours les mêmes valeurs (les valeurs par défaut, ce qui est possible en regardant la structure de notre table, mais qui donnera dans notre cas une autre erreur car une clé primaire existe et elle ne tolère donc pas deux enregistrements ayant certains couples de valeurs identiques) qui seront insérées grâce à la requête suivante :
INSERT INTO table() VALUES()

Vous ne devriez plus rencontrer ce problème suite à la lecture de cet article, dans le cas contraire vous pouvez demander de l'aide sur le forum

A propos de cet article
Sondage

Utilisez-vous un firewall ?

(1 choix possible)

Aide informatique | Communauté d'entraide informatique | Astuces Windows | Aide informatique | Forum d'assistance informatique | Forum-Vista | Winland.fr | Formation informatique | Forum Informatique | Devenir partenaire