java—这两个sql语句(jdbc)之间有什么区别?

vi4fp9gy  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(228)

我想得到表中的最后一个id。首先我这样做:

String selectId = "SELECT MAX(id) FROM book_store.cart" ;    
PreparedStatement ps = conn.prepareStatement(selectId);  
rs =  ps.executeQuery();
while(rs.next()){
    autoIncKey = rs.getInt("id");
}

这里我得到错误“列id未找到”。
然后我将查询更改为以下内容:

String selectId = "SELECT id FROM book_store.cart ORDER BY id DESC LIMIT 1";

我想知道为什么第一个查询会给我一个错误,而第二个查询不会,如果它们返回相同的值呢?

bxfogqkk

bxfogqkk1#

第一个查询将返回列名为的行 MAX(id) .
不是列的最有用的名称,因此更改查询以设置该列的别名,如下所示

SELECT MAX(id) id FROM book_store.cart

现在该列将被调用 id 以及 rs.getInt("id") 会有用的

相关问题