给出一个简单的查询,例如
“SELECT id,foo FROM Bar”,
在迭代ResultSet时,deleteRow()工作正常,但如果查询是
“SELECT id,TRIM(foo)FROM Bar”
它不再有效:
结果集不可更新。查询必须从唯一键中选择所有列。只能选择一个表。 [90127-173]
这是jdbc限制,还是H2限制/错误?
问候。
答案 0 :(得分:2)
对于H2数据库,结果集仅在以下情况下可更新:
第二个查询与上一个条件不匹配。这需要更改行和列的值(使用ResultSet.updateX
)。我知道你实际上并不想编辑数据;但是H2数据库目前没有区分编辑数据的能力和删除行的能力。