Liens commerciaux :

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
Modifier cet article
Historique des modifications
Discussion sur le forum
Partager cet article
Voir la licence de cet article
Utilisez-vous un firewall ?
(1 choix possible)