MySQL-获取最后添加的ID

时间:2018-11-26 13:36:18

标签: java mysql rowmapper

我是新程序员(刚开始接受我的程序员教育)。

我正在尝试使用SQL DB中的最后一个ID设置我的“ tempVenueId ”属性:(在这种情况下,idvenue = 12)

表名:会场

idvenue | name        | address
-------------------------------
 1      | Khar        | 5
 2      | SantaCruz   | 3
 3      | Sion        | 2
 4      | VT          | 1
 5      | newFort     | 3
 6      | Bandra      | 2
 7      | Worli       | 1
 8      | Sanpada     | 3
 9      | Joe         | 2
10      | Sally       | 1
11      | Elphiston   | 2
12      | Currey Road | 1

我的代码:

Private int tempVenueId;
SqlRowSet rs1 = jdbc.queryForRowSet("SELECT MAX(idvenue) FROM venue;");
while(rs1.next())tempVenueId = rs1.getInt(0);

/*I have also tried with "while(rs1.next())tempVenueId = rs1.getInt(1);"
*/

在intelliJ中运行调试模式时,仍然无法正常工作

tempVenueId = 0 

2 个答案:

答案 0 :(得分:2)

索引来自 1 而不是 0 ,因此有两种解决方法:

while(rs1.next()){
   tempVenueId = rs1.getInt(1);
   break;
};

SqlRowSet rs1 = Jdbc.queryForRowSet("SELECT MAX(idvenue) as value FROM venue;");
while(rs1.next()){
  tempVenueId = rs1.getInt("value");
  break;
 }

答案 1 :(得分:0)

已解决-此解决方案更容易....(我认为)。


String sql = "SELECT LAST_INSERT_ID();"; 
SqlRowSet rs = Jdbc.queryForRowSet(sql);
rs.next();
Venue VN = new Venue(rs.getInt(1));
tempVenueId = VN;

  • 现在我从数据库中获取了最后一个AUTO INCREMENTET ID