HSQL DB的insert语句中出错
我有springdatarest应用程序&为了对这些服务进行单元测试,我使用springboot和HSQL内存数据库。但是在运行时将数据插入HSQL表时,我得到了一个错误。当其他insert语句工作时,我只收到1条insert语句的此错误 错误 原因:java.sql.SQLException:语句中的列计数不匹配 在SQL文件中插入语句HSQL DB的insert语句中出错,sql,spring-boot,hsqldb,spring-data-rest,Sql,Spring Boot,Hsqldb,Spring Data Rest,我有springdatarest应用程序&为了对这些服务进行单元测试,我使用springboot和HSQL内存数据库。但是在运行时将数据插入HSQL表时,我得到了一个错误。当其他insert语句工作时,我只收到1条insert语句的此错误 错误 原因:java.sql.SQLException:语句中的列计数不匹配 在SQL文件中插入语句 Insert into countries (ID,COUNTRY,CODE) values (2,'UNITED STATES','US'); 注意:-在
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。您是否在表格上添加了任何约束。如果我在实际数据库上执行相同的语句,它将成功执行。因此,您是通过JDBC调用来执行的??。我想在JDBC调用的情况下,您需要在语句中包含表的所有列。对于insert语句中未传递的值,您可以传递null,例如insert到国家(ID、国家、代码、大陆)的值(2、‘美国’、‘美国’、null);如果可能的话,为表和您编写的代码传递您的SQL模式。我可能能够测试它并重新创建由HSQL DB使用我拥有的实体创建的发行文件。我在问题中添加了entity&SQL语句。我在应用程序中的其他insert语句工作正常。JFYI我已经尝试为id传递null值,因为它是自动生成的。但这没有帮助