Erreur lors d'ajout des donner a mon base

Fermé
riadh4070 Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 31 mai 2010 - 28 mai 2010 à 17:43
 fiu - 1 juin 2010 à 02:35
Bonjour,
j'ai développée une application en manipulent le JAVA et le MySQL ...en effet cette application permet de lire une fichier texte ligne par ligne et d'implémenter les donner dans ma base
par exemple j'ai un tableau appellé "circuit" et qui contient trois colone NFSC( clé primaire) , ETAT,CIC
dés que je fait l'excution j'ai toujour ce message d'eurreur ...
"java.sql.SQLException: Field 'AFCT' doesn't have a default value"" et je sait pas quoi faire
svp de l'aide

3 réponses

Salut

Je ne comprends pas comment l'erreur peut concerner AFCT alors que tu ne manipules que NFSC, ETAT & CIC

Tu n'aurais pas oublié quelques informations ?
0
riadh4070 Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 31 mai 2010
29 mai 2010 à 00:45
désolée ...mon ami c'était une faute ....le clé primaire et AFCT et le requette que j'utilise pour pouvoir remplir ma base et le suivante
""INSERT INTO circuit( "+colnom+") VALUES ( '"+valeur+"')"; avec colnom et le nom de colon et le valeur ....
puisque j'ai les donnée de cette forme
AFCT=106-43-45 CIC= 032
ETAT= BLO
et merci d'avance ...et désolée pour le faute ...
0
re

l'instruction INSERT sert à insérer une ligne dans la table.
on peut indiquer à cette instruction quelles colonnes sont à remplir avec les valeurs fournies

si ta première requête est insert into CIRCUIT(AFCT) values('106-43-etc') la base va créer une ligne dans la table CIRCUIT et mettre106-43-etc dans la colonne AFCT de cette ligne nouvellement créée.

si ensuite, ta requête est insert into CIRCUIT(ETA) values('BLO') la base va créer une ligne dans la table CIRCUIT et mettre BLO dans la colonne ETA de cette ligne nouvellement créée... mais ne mettra rien dans AFCT car tu ne lui as rien précisé. Donc la nouvelle ligne se retrouve avec un AFCT vide, ce qui est interdit par la clé primaire, la requête est donc logiquement rejetée.

Comme le but est de remplir 3 colonnes avec 3 valeurs différentes il faut envoyer la requête insert into CIRCUIT(AFCT, ETA, CIC) values('106-43-etc', 'BLO', 'autre chose')

Ça te va ?
0
riadh4070 Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 31 mai 2010
29 mai 2010 à 14:23
oui ...merci bien pour l'explication
0
riadh4070 Messages postés 16 Date d'inscription samedi 10 avril 2010 Statut Membre Dernière intervention 31 mai 2010
31 mai 2010 à 23:13
Salut ....j'ai utiliser la fonction UPDATE mais dés que je l'utilise j'ai se erreur

Update faisceaux set INDE = 1650 where NFSC = E2HWE
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'E2HWE' in 'where clause'
malgré que se colonne existe dans ma base .....?????
0
Salut,

il aurait été plus smart d'ouvrir un nouveau topic car c'est un nouveau problème.
l'erreur que tu as te fait remarquer que tu cherches à mettre à jour les lignes pour lesquelles la colonne NFSC est égale à la colonne E2HWE... mais tu n'as pas de colonne E2HWE dans la table faisceaux :-(

et il va aussi falloir envisager de se mettre à l'anglais
0