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