0

我有一个Statement向我的数据库中的表插入一些值的位置,该表有一个主键,它的名称是 : numBon

当我执行插入命令时,我想获取numBon.

现在我正在使用这段代码:

Statement st = connection.createStatement();
ResultSet result = st.executeQuery("SELECT MAX(numBon) FROM BonInterne");
int numBon;
if (result.next()) {
            numBon = result.getInt("numBon");
        }

难道没有别的办法了吗?

4

2 回答 2

0

这是一个自动增量列吗?假设是,您可以这样做:

SELECT LAST_INSERT_ID()

但这与数据库无关。 这篇文章给出了一个更好的答案。 或者您可以查看@eidsonator 的评论,以更快地了解如何从插入语句中获取 ID。

于 2013-05-31T19:19:04.037 回答
0

使用Statement.getGeneratedKeys()检索自动生成的值。

Statement st = connection.createStatement();
st.execute("insert into ... "); //query where the server generates a value for
                                 //an auto incremented column
ResultSet rs = st.getGeneratedKeys
int numBon;
if (rs.next()) { 
  numBon = result.getInt(1);
}
于 2013-05-31T19:26:36.143 回答