String sql = "Select MAX(ORDERLINEID) From ORDERLINESTABLE";
ResultSet rst;
rst = stmt.executeQuery(sql);
if(rst.next())
{
next = rst.getInt("ORDERLINEID");
next++;
}
我的数据库中有一个名为 ORDERLINESTABLE 的表,该表目前是空的。我运行上面的代码的目的是获取存储在 ORDERLINEID 列中的最大整数,这样我就可以在向数据库添加项目时增加它。
我预计此查询不会返回任何内容,因为表是空的,但在调试时我注意到搜索为 rst.next() 方法返回 true。
有人知道为什么会这样吗?我查看了 resultset.next() 文档,据我所知它应该返回 false。
最佳答案
如有疑问,请查看您的数据。这是来自任何数据库引擎的示例查询。
select max(field) maxValue
from table
where 1=3
它会产生
maxValue
Null
换句话说,您的查询返回一条值为 null 的记录。
关于java - SQL 语句在空表上返回一个结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286857/