J'essaie de mettre à jour et d'enregistrer des données sur ma base de données à l'aide de mon interface graphique. Mon problème est que si je n'entre pas de données à certaines boîtes de texte que j'ai autorisées null sur ma base de données, je reçois ce genre d'erreur: java.sql.sqxception: données tronquées pour la colonne 'mensuel' à la ligne 1 p >
3 Réponses :
Typiquement, ce problème se produit lorsque vous mettez dans une donnée trop longue pour la colonne. Dans ce cas, quelles que soient les données que vous mettez à jour, le champ «mensuel» est trop long. p>
Dans mon cas, j'ai eu une application héritée utilisant une ancienne version du connecteur MySQL. Après la mise à jour, cela a fonctionné.
Une autre raison pour laquelle cette erreur pourrait se produire est lorsque le type de votre colonne est une énumération avec une liste limitée de valeurs, mais vous essayez d'insérer quelque chose qui n'appartient pas à cette liste. P>
Par exemple, si votre type de colonne est enum ('xxx', 'yyy', 'zzz') mais vous essayez d'insérer une valeur 'AAA' dans cette colonne, vous obtiendrez la même erreur. p>
Merci d'abord, l'erreur n'a pas eu de sens, mais vous avez souligné que vous avez souligné que je pouvais trouver une faute de frappe sur mon script de création de table. gloire!
Si vous utilisez Hibernate, une autre raison pourrait être manquante @Enuméated code> Annotation. ANNOTez-le avec le type de données souhaité comme l'exemple ci-dessous: @Column(name="monthly_income")
@Enumerated(EnumType.STRING)
private MonthlyIncome monthlyIncome
'mensuel' code>? Utilisez-vous JDBC? Montrez votre requête s'il vous plaît.Quel type de type de données votre revenu mensuel ??
J'ai utilisé le double comme type de données pour le revenu mensuel