Java MYSQL连接器/J插入并获取生成的自动增量密钥

Java MYSQL连接器/J插入并获取生成的自动增量密钥,java,mysql,jdbc,Java,Mysql,Jdbc,我可以通过Connector/J插入MySQL,但是: res = stmt.executeUpdate(query); 不返回任何内容。如何知道新生成的行自动递增键值。 我需要引用刚刚生成的行。插入后,立即在同一连接上发出以下SQL查询: SELECT LAST_INSERT_ID() 它返回最近生成的自动增量值。它存储在每个连接的基础上,因此即使在繁忙的多客户端数据库上,它也是可靠的 插入后,立即在同一连接上发出以下SQL查询: SELECT LAST_INSERT_ID() 它返回最

我可以通过Connector/J插入MySQL,但是:

res = stmt.executeUpdate(query);
不返回任何内容。如何知道新生成的行自动递增键值。
我需要引用刚刚生成的行。

插入后,立即在同一连接上发出以下SQL查询:

SELECT LAST_INSERT_ID()
它返回最近生成的自动增量值。它存储在每个连接的基础上,因此即使在繁忙的多客户端数据库上,它也是可靠的


插入后,立即在同一连接上发出以下SQL查询:

SELECT LAST_INSERT_ID()
它返回最近生成的自动增量值。它存储在每个连接的基础上,因此即使在繁忙的多客户端数据库上,它也是可靠的


插入后,立即在同一连接上发出以下SQL查询:

SELECT LAST_INSERT_ID()
它返回最近生成的自动增量值。它存储在每个连接的基础上,因此即使在繁忙的多客户端数据库上,它也是可靠的


插入后,立即在同一连接上发出以下SQL查询:

SELECT LAST_INSERT_ID()
它返回最近生成的自动增量值。它存储在每个连接的基础上,因此即使在繁忙的多客户端数据库上,它也是可靠的


执行更新
返回查询中受影响的行数。

要获取最新的自动增量id,您需要执行另一个查询。我使用了
SELECT LAST_INSERT_ID()
应该返回最新的值

执行更新
返回您的查询所影响的行数。
要获取最新的自动增量id,您需要执行另一个查询。我使用了
SELECT LAST_INSERT_ID()
应该返回最新的值

执行更新返回您的查询所影响的行数。
要获取最新的自动增量id,您需要执行另一个查询。我使用了
SELECT LAST_INSERT_ID()
应该返回最新的值

执行更新返回您的查询所影响的行数。
要获取最新的自动增量id,您需要执行另一个查询。我使用了
SELECT LAST_INSERT_ID()
应该返回最新值

您可以使用
last\u insert\u id()
或JDBC API检索生成的密钥:

String query = "insert into ....";
PreparedStatement pstmt = connection.prepareStatement(query,  Statement.RETURN_GENERATED_KEYS);
int rowsAffected = pstmt.executeUpdate();
int newId = -1;
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) 
{
  newId = rs.getInt(1);
}
rs.close();
pstmt.close();

您可以使用
last\u insert\u id()
或JDBC API检索生成的密钥:

String query = "insert into ....";
PreparedStatement pstmt = connection.prepareStatement(query,  Statement.RETURN_GENERATED_KEYS);
int rowsAffected = pstmt.executeUpdate();
int newId = -1;
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) 
{
  newId = rs.getInt(1);
}
rs.close();
pstmt.close();

您可以使用
last\u insert\u id()
或JDBC API检索生成的密钥:

String query = "insert into ....";
PreparedStatement pstmt = connection.prepareStatement(query,  Statement.RETURN_GENERATED_KEYS);
int rowsAffected = pstmt.executeUpdate();
int newId = -1;
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) 
{
  newId = rs.getInt(1);
}
rs.close();
pstmt.close();

您可以使用
last\u insert\u id()
或JDBC API检索生成的密钥:

String query = "insert into ....";
PreparedStatement pstmt = connection.prepareStatement(query,  Statement.RETURN_GENERATED_KEYS);
int rowsAffected = pstmt.executeUpdate();
int newId = -1;
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) 
{
  newId = rs.getInt(1);
}
rs.close();
pstmt.close();


详细说明你的问题?好的。我只是插入了一个字段,并没有故意放置自动递增字段,因为它是自动递增的。如何知道查询运行后生成了什么?您需要启动另一个查询。使用依赖于数据库的查询获取最后插入的记录的id。详细说明您的问题?好的。我只是插入了一个字段,并没有故意放置自动递增字段,因为它是自动递增的。如何知道查询运行后生成了什么?您需要启动另一个查询。使用依赖于数据库的查询获取最后插入的记录的id。详细说明您的问题?好的。我只是插入了一个字段,并没有故意放置自动递增字段,因为它是自动递增的。如何知道查询运行后生成了什么?您需要启动另一个查询。使用依赖于数据库的查询获取最后插入的记录的id。详细说明您的问题?好的。我只是插入了一个字段,并没有故意放置自动递增字段,因为它是自动递增的。如何知道查询运行后生成了什么?您需要启动另一个查询。使用依赖于数据库的查询来获取最后插入的记录的id。标准JDBC方法是使用JDBC API的生成键功能。标准JDBC方法是使用JDBC API的生成键功能。标准JDBC方法是使用JDBC API的生成键功能。标准JDBC方法是使用生成的键JDBCAPI的功能标准JDBC方法是使用JDBCAPI的生成密钥功能。我不知道你为什么要在关于JDBC的问题中链接到一篇ODBC文章。标准的JDBC方法是使用JDBCAPI的生成键功能。我不知道你为什么要在关于JDBC的问题中链接到一篇ODBC文章。标准的JDBC方法是使用JDBCAPI的生成键功能。我不知道你为什么要在关于JDBC的问题中链接到一篇ODBC文章。标准的JDBC方法是使用JDBCAPI的生成键功能。我不知道您为什么要在JDBC问题中链接到ODBC文章。