SQL (Java, h2): что лучший способ состоит в том, чтобы получить уникальный идентификатор единственного объекта, который я просто вставил в свою базу данных? [дубликат]

13
задан Daddy Warbox 15 April 2010 в 17:57
поделиться

2 ответа

Если драйвер JDBC поддерживает это, вы также можете просто использовать для этого оператор # getGeneratedKeys () .

String sql = "INSERT INTO tbl (col) VALUES (?)";
preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, col);
preparedStatement.executeUpdate();
generatedKeys = preparedStatement.getGeneratedKeys();
if (generatedKeys.next()) {
    long id = generatedKeys.getLong(1);
} else {
    // Throw exception?
}
26
ответ дан 1 December 2019 в 20:00
поделиться

Если вы используете MySQL, вы можете сделать

select last_insert_id();

Если используете MS SQL

select scope_identity();

Для H2, я считаю, что это

CALL SCOPE_IDENTITY();

, но у меня нет опыта работы с этой БД

6
ответ дан 1 December 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: