尝试使用H2数据库更新JDBC ResultSet时发生异常

托斯滕

我尝试使用ResultSet将一行插入H2数据库(1.4.182)。通过调用insertRow,程序将引发异常。而且我不知道问题出在哪里。

例外是:

The result set is not updatable. The query must select all columns from a unique key.
Only one table may be selected. [90127-182]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:179)
    at org.h2.message.DbException.get(DbException.java:155)
    at org.h2.message.DbException.get(DbException.java:144)
    at org.h2.jdbc.JdbcResultSet.getUpdatableRow(JdbcResultSet.java:3081)
    at org.h2.jdbc.JdbcResultSet.insertRow(JdbcResultSet.java:2966)
    at JdbcResultSetUpdate.main(JdbcResultSetUpdate.java:26)

程序执行以创建ResultSet的SQL语句为:

"select NAME from TEST.TST_DOZENT"

TST_DOZENT由以下语句创建:

"CREATE TABLE TEST.TST_DOZENT (NAME VARCHAR(50))", "Create TST_DOZENT-Tab"

因此,查询语句不使用系统表,该表没有主键。

java语句对象是通过以下方式创建的:

con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

我无法弄清楚问题出在哪里或我做错了什么。

我将不胜感激任何帮助。

谢谢你的阅读。

托马斯·穆勒

该表需要具有主键或唯一索引,并且查询需要包含该列。例子:

CREATE TABLE TEST.TST_DOZENT (ID PRIMARY KEY, NAME VARCHAR(50));
SELECT ID, NAME FROM TEST.TST_DOZENT;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试使用H2数据库更新JDBC ResultSet时发生异常

来自分类Dev

连接到H2数据库时,DriverManager尝试使用mariadb驱动程序

来自分类Dev

为什么尝试通过“ jdbc:h2:test”的URL创建数据库时收到错误消息

来自分类Dev

使用 H2 数据库时 Quill 中插入或更新操作的编译错误

来自分类Dev

尝试从H2数据库检索JSON数据时出错

来自分类Dev

使用inMemory数据库时出现R2dbc H2问题

来自分类Dev

使用TestRestTemplate时发生异常

来自分类Dev

使用OuputStreamWriter时发生异常

来自分类Dev

在H2中使用CSVREAD时删除临时数据库文件

来自分类Dev

尝试在H2数据库中设置具有DEFAULT NULL的UNIQUE约束时出错

来自分类Dev

尝试绑定XAML数据时发生异常

来自分类Dev

尝试更新Access数据库时发生OleDbException

来自分类Dev

在MySQL数据库中输入日期时发生异常

来自分类Dev

尝试保存在MySQL数据库中时发生异常

来自分类Dev

尝试保存在MySQL数据库中时发生异常

来自分类Dev

使用UUID作为主键时,H2内存数据库错误“数据转换错误转换”

来自分类Dev

尝试终止任务时发生异常

来自分类Dev

尝试执行Jobb命令时发生异常

来自分类Dev

尝试修改字典时发生异常

来自分类Dev

尝试使用 asp.net 更新数据库时出现异常错误

来自分类Dev

尝试使用Java数据库更新时出现MySQLSyntaxErrorException

来自分类Dev

在Predictionio中训练数据时发生异常

来自分类Dev

添加属性元数据时发生异常

来自分类Dev

解析JSON数据时发生异常

来自分类Dev

H2数据库:使用jdbcTemplate插入记录时,列“ ID”不允许为NULL

来自分类Dev

TTransportException使用Apache Thrift时发生异常

来自分类Dev

使用conda克隆环境时发生异常

来自分类Dev

使用nativeJPQL删除查询时发生异常

来自分类Dev

在MFC中使用TaskDialogIndirect时发生异常

Related 相关文章

  1. 1

    尝试使用H2数据库更新JDBC ResultSet时发生异常

  2. 2

    连接到H2数据库时,DriverManager尝试使用mariadb驱动程序

  3. 3

    为什么尝试通过“ jdbc:h2:test”的URL创建数据库时收到错误消息

  4. 4

    使用 H2 数据库时 Quill 中插入或更新操作的编译错误

  5. 5

    尝试从H2数据库检索JSON数据时出错

  6. 6

    使用inMemory数据库时出现R2dbc H2问题

  7. 7

    使用TestRestTemplate时发生异常

  8. 8

    使用OuputStreamWriter时发生异常

  9. 9

    在H2中使用CSVREAD时删除临时数据库文件

  10. 10

    尝试在H2数据库中设置具有DEFAULT NULL的UNIQUE约束时出错

  11. 11

    尝试绑定XAML数据时发生异常

  12. 12

    尝试更新Access数据库时发生OleDbException

  13. 13

    在MySQL数据库中输入日期时发生异常

  14. 14

    尝试保存在MySQL数据库中时发生异常

  15. 15

    尝试保存在MySQL数据库中时发生异常

  16. 16

    使用UUID作为主键时,H2内存数据库错误“数据转换错误转换”

  17. 17

    尝试终止任务时发生异常

  18. 18

    尝试执行Jobb命令时发生异常

  19. 19

    尝试修改字典时发生异常

  20. 20

    尝试使用 asp.net 更新数据库时出现异常错误

  21. 21

    尝试使用Java数据库更新时出现MySQLSyntaxErrorException

  22. 22

    在Predictionio中训练数据时发生异常

  23. 23

    添加属性元数据时发生异常

  24. 24

    解析JSON数据时发生异常

  25. 25

    H2数据库:使用jdbcTemplate插入记录时,列“ ID”不允许为NULL

  26. 26

    TTransportException使用Apache Thrift时发生异常

  27. 27

    使用conda克隆环境时发生异常

  28. 28

    使用nativeJPQL删除查询时发生异常

  29. 29

    在MFC中使用TaskDialogIndirect时发生异常

热门标签

归档