繁体   English   中英

java.sql.SQLException:第 1 行的“MonthlyIncome”列数据被截断错误

[英]java.sql.SQLException: Data truncated for column 'MonthlyIncome' at row 1 error

我正在尝试使用我的 GUI 更新数据并将数据保存到我的数据库中。 我的问题是,如果我没有在数据库中允许 null 的某些文本框中输入任何数据,我会收到这种错误:java.sql.SQLException:第 1 行的“MonthlyIncome”列数据被截断

通常,当您输入的数据对于该列来说太长时,就会出现此问题。 在这种情况下,您更新“MonthlyIncome”字段的任何数据都太长了。

可能发生此错误的另一个原因是当您的列的类型是具有有限值列表的 ENUM 但您尝试插入不属于该列表的内容时。

例如,如果您的列类型是 ENUM ('XXX','YYY','ZZZ') 但您尝试在此列中插入值 'AAA',您将得到相同的错误。

如果分别创建JPA实体和SQL表,

如果您关闭了 JPA 表自动创建,请检查您的 application.properties 是否有spring.jpa.hibernate.ddl-auto=none

此错误的另一个原因可能是,在您的 JPA 实体中,特定字段数据类型和 SQL 表列数据类型可能不同。

如果您使用的是 Hibernate,那么另一个原因可能是您缺少@Enumerated注释。 使用您想要的数据类型对其进行注释,如下例所示:

@Column(name="monthly_income")
@Enumerated(EnumType.STRING)
private MonthlyIncome monthlyIncome

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM