Max_LiVi
@Max_LiVi
Java-разработчик

Как в java при добавлении новой записи в базу данных SQLite вернуть id (автоинкремент) именно этой записи?

Моё многопользовательское приложение работает с базой данных SQLite. При создании объекта, запись добавляется в базу данных, но так как объект содержит поле id и он формируется базой данных, мне нужно возвращать id из бд при создании записи, чтобы присвоить его объекту на клиенте, чтобы постоянно не обновлять все объекты из бд. Подскажите верный способ, чтобы бд возвращала гарантировано id именно этой записи, а не последней созданной. Спасибо.
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
В том же запросе Statement или PreparedStatement используйте примерно такую конструкцию:

try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
            if (generatedKeys.next()) {
              long id =  generatedKeys.getLong(1);
            }
            else {
                throw new SQLException("No ID obtained");
            }
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы