0
我有Spring数据休息应用程序&单元测试这些服务,我在内存数据库中使用HSQL的Spring Boot &。但在运行时将数据插入到HSQL表中时,出现错误。当其他插入语句正在工作时,我只有1个插入语句出现此错误。HSQL DB插入语句错误
错误
在SQL文件造成的:值java.sql.SQLException:列数不匹配声明
插入语句
Insert into countries (ID,COUNTRY,CODE) values (2,'UNITED STATES','US');
注: - 在同样的应用程序插入其他表正在工作&从表中检索数据也是成功的。
实体 - 使用此HSQL创建表。
@Entity
@Table(name = "COUNTRIES")
public class Country implements Describable, Serializable {
@Id
@SequenceGenerator(name="CountriesSeq",sequenceName="SEQ_COUNTRIES")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "CountriesSeq")
protected Integer id;
@Column(name = "CODE")
private String code;
@Column(name = "COUNTRY")
private String country;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}
感谢
您是否在表 – Acewin
上添加了任何约束。否。如果我在实际数据库上执行相同的语句,则它会成功执行。 – user5402945
所以你通过JDBC调用来完成它。我想在JDBC调用的情况下,你需要在语句中包含表的所有列。对于您未在插入语句中传递的值,您可以传递null值 例如插入到国家(ID,国家,代码,大小)值(2,'UNITED STATES','US',null); – Acewin