Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / getGeneratedKeys при транзакции / 7 сообщений из 7, страница 1 из 1
05.02.2012, 16:59:38
    #37647703
mre
mre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
Всем привет!
Такой код
Код: 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
05.02.2012, 17:18:07
    #37647714
svenom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
Неужели даже документацию посмотреть не смогли?
http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#getGeneratedKeys()
...
Рейтинг: 0 / 0
05.02.2012, 19:13:40
    #37647766
mre
mre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
Вы не поняли в чем проблема, после коммита в statement - пусто при выполнении getGeneratedKeys.
...
Рейтинг: 0 / 0
05.02.2012, 19:18:26
    #37647770
svenom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
А до коммита?
А зачем вы вообще используете вот такую жесть: statement.execute("START TRANSACTION"); и statement.execute("COMMIT"); ? Чем вас не устраивает connection.commit()?
...
Рейтинг: 0 / 0
05.02.2012, 20:52:46
    #37647844
mre
mre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
Меня устраивает, но периодически возникает ошибка Lock wait timeout exceeded; try restarting transaction
Может подскажите как решить проблему?
...
Рейтинг: 0 / 0
05.02.2012, 21:02:02
    #37647849
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
mreLock wait timeout exceeded; try restarting transaction
вот и разбирайся с транзакциями. Причём тут возврат id-key.
- делай их короче
- не блокируй без нужды
- обеспечивай параллелизм БЛ
...
Рейтинг: 0 / 0
06.02.2012, 15:25:10
    #37648759
Йуный джавистЪ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getGeneratedKeys при транзакции
Скорее всего, утекают соединения с незакрытыми транзакциями. Посмотрите, текут ли соединения через show processlist. Если текут, то там будут записи с большим значением time.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / getGeneratedKeys при транзакции / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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