java - 在MySQL中使用statement.getGenerateKeys()时是否可以获取自动生成的值?

标签 java mysql insert last-insert-id

我正在通过java连接mysql。我正在尝试插入一条记录,并且使用 statement.getGenerateKeys()if ( generatedKeys.next()) 查找状态。现在我可以获得插入的 coulmn 值(即,我有名为 pass 的列,它是一个 auto_increament 列,它是我的主键,现在我想获取插入到该列中的值。可能吗?

最佳答案

标准 MySQL Connector J 驱动程序确实支持获取生成的 key ,是的。这是一些示例代码:

final Connection conn ; // setup connection
final String SQL ; // define SQL template string

final PreparedStatement stmt = connection.prepareStatement(
    SQL,
    Statement.RETURN_GENERATED_KEYS);

int affected = stmt.executeUpdate();
if (affected > 0) {
    final ResultSet keySet = stmt.getGeneratedKeys();
    while (keySet.next()) {
        // these are your autogenerated keys, do something with them
        System.out.println(keySet.getInt(1));
    }
}

关于java - 在MySQL中使用statement.getGenerateKeys()时是否可以获取自动生成的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15615070/

相关文章:

java - 如何在捕获异常后保持代码运行(Java)

java - 如何检查 Gradle 任务中 Activity 的 spring 配置文件

java - Child 类 Java 中的向下转型参数

php - 如何用 PHP 创建库存管理

javascript - Meteor:单击按钮时将列表项从另一个集合插入到集合中?错误。内部服务器错误

php - 如果条件正确,如何插入数据

java - 如果语句中包含的方法内部发生错误,则返回 while 循环条件

mysql - 使用 Spring、hibernate 和 C3P0 的设置重现 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

mysql - phpMyAdmin 中的德国日期?

c - 我的二分搜索(在 C 语言中工作)不断出现段错误