在MySQL中使用statement.getGeneratedKeys()时是否可以获得自动生成的值?

时间:2013-03-25 12:33:19

标签: java mysql insert last-insert-id

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

1 个答案:

答案 0 :(得分:2)

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

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));
    }
}