apache derby错误42802我该怎么修?

mlnl4t2r  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(264)

derby正在引发代码为42802的异常。看来,这段特殊的代码是源代码的麻烦,但我不明白为什么。

if(!resultSet.next())
        {
            statement=connection.prepareStatement("CREATE TABLE "+TABLE_NAME+"("+
                    "ID varchar(100) primary key,\n"+
                    "TITLE varchar(100),\n"+
                    "AUTHOR varchar(100),\n"+
                    "ISBN varchar(100),\n"+
                    "PUBLISHER varchar(100),\n"+
                    "PUBLISHED_YEAR varchar(100))"
            );
        }
        else
        {
             statement = connection.prepareStatement(INSERT INTO BOOKS VALUES ('A', 'A', 'A', 'A', 'A', 'A'));
             statement.execute();
        }
j1dl9f46

j1dl9f461#

错误42802是“分配的值的数目与指定或隐含列的数目不同。”
看到了吗https://db.apache.org/derby/docs/10.4/ref/rrefexcept71493.html
现在您的 INSERT 似乎与 CREATE TABLE . 但是,这并不意味着实际的表结构与之匹配 CREATE TABLE 代码。检查 BOOKS table。
查看如何在derby db中描述和显示表?

相关问题