Java SQL:从executeUpdate获取自动递增列的值

Java SQL:从executeUpdate获取自动递增列的值,java,mysql,sql,jsp,resultset,Java,Mysql,Sql,Jsp,Resultset,我试图在输入新行后获得自动递增的列。我的表中有以下列: +----+---------+---------+-------+------------+--------------+------------+---------------+-----------+ | ID | Minkita | Maxkita | Meser | MetodasNum | MainQuestion | MetodaData | RequiresZiood | Nispachim | +----+--------

我试图在输入新行后获得自动递增的列。我的表中有以下列:

+----+---------+---------+-------+------------+--------------+------------+---------------+-----------+
| ID | Minkita | Maxkita | Meser | MetodasNum | MainQuestion | MetodaData | RequiresZiood | Nispachim |
+----+---------+---------+-------+------------+--------------+------------+-----
其中ID是一个自动递增的、非空的mediumint

我的JSP代码:

PreparedStatement s = connection.prepareStatement(
            "INSERT INTO Threads"
            +"(`MinKita`, `MaxKita`, `Meser`, `MetodasNum`, `MainQuestion`, `MetodaData`, `RequiresZiood`, `Nispachim`)"
            +" VALUES(?, ?, ?, ?, ?, ? ,? ,?)"
);
//Blah blah, setting strings and values for the prepared statement... Then:
s.executeUpdate();
现在,我知道executeUpdate返回新行的行号,但我想做的是从我的行号中获取ID

问题是,ID不一致,它们的顺序可能是这样的:
1、2、5、7、13…
,因为行可能会被删除

那么,如何从行号中获取ID列中的数据呢

提前感谢,


~NonameSL

在执行
插入时,您可以通过以下操作获取生成的ID:

首先创建一个
PreparedStatement
,它返回自动递增列的生成值:

PreparedStatement s = connection.prepareStatement(
    "INSERT INTO <your sql>",
    Statement.RETURN_GENERATED_KEYS);
如果表中有多个自动增量列,还可以指定应返回的列:

PreparedStatement s = connection.prepareStatement(
    "INSERT INTO <your sql>",
    new String[] { "ID" });  // the ID column only
PreparedStatement s=connection.prepareStatement(
“插入”,
新字符串[]{“ID”});//仅显示ID列
PreparedStatement s = connection.prepareStatement(
    "INSERT INTO <your sql>",
    new String[] { "ID" });  // the ID column only