powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / getGeneratedKeys при транзакции
7 сообщений из 7, страница 1 из 1
getGeneratedKeys при транзакции
    #37647703
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Всем привет!
Такой код
Код: java
1.
2.
3.
4.
statement.execute("START TRANSACTION");
statement.executeUpdate(query);
statement.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
statement.execute("COMMIT");


Как после этого получить generated keys ?

До этого пользовался
Код: java
1.
2.
connection.setAutoCommit(false); 
connection.commit();


Но периодически возникает ошибка Lock wait timeout exceeded; try restarting transaction
Таблицы - InnoDB.
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37647714
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели даже документацию посмотреть не смогли?
http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#getGeneratedKeys()
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37647766
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Вы не поняли в чем проблема, после коммита в statement - пусто при выполнении getGeneratedKeys.
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37647770
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А до коммита?
А зачем вы вообще используете вот такую жесть: statement.execute("START TRANSACTION"); и statement.execute("COMMIT"); ? Чем вас не устраивает connection.commit()?
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37647844
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Меня устраивает, но периодически возникает ошибка Lock wait timeout exceeded; try restarting transaction
Может подскажите как решить проблему?
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37647849
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mreLock wait timeout exceeded; try restarting transaction
вот и разбирайся с транзакциями. Причём тут возврат id-key.
- делай их короче
- не блокируй без нужды
- обеспечивай параллелизм БЛ
...
Рейтинг: 0 / 0
getGeneratedKeys при транзакции
    #37648759
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, утекают соединения с незакрытыми транзакциями. Посмотрите, текут ли соединения через show processlist. Если текут, то там будут записи с большим значением time.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / getGeneratedKeys при транзакции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]