Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HSQL DB的insert语句中出错_Sql_Spring Boot_Hsqldb_Spring Data Rest - Fatal编程技术网

HSQL DB的insert语句中出错

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'); 注意:-在

我有springdatarest应用程序&为了对这些服务进行单元测试,我使用springboot和HSQL内存数据库。但是在运行时将数据插入HSQL表时,我得到了一个错误。当其他insert语句工作时,我只收到1条insert语句的此错误

错误

原因:java.sql.SQLException:语句中的列计数不匹配

在SQL文件中插入语句

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值,因为它是自动生成的。但这没有帮助