2014-01-08 3 views
1

Пытается использовать «jooq» для работы с db (MySQL). Это выглядит красиво, но поскольку sql-запрос более сложный jooq-конструирование становится более неясным.Jooq INSERT на дубликат ключа UPDATE

ли кто-нибудь знает, какой код я должен написать, чтобы получить SQL-аналог для:

INSERT INTO table (field1, field2, counter) VALUES (123, abc, 10), (124, cde, 20) 
ON DUPLICATE KEY UPDATE counter = counter + VALUES(counter); 

ответ

0

Этот конкретный поставщик конкретного синтаксиса еще не поддерживается jOOQ 3.2. Он основан на долгосрочной дорожной карте как #2134

+0

Если я буду использовать ручной способ построения SQL-запроса, как я могу использовать dslContext для возврата сгенерированных значений после вставки? Теперь я использую StringBuilder queryBuilder = new StringBuilder («INSERT INTO ...; dslContext.query (queryBuilder.toString()); – user2602807

+0

@ user2602807: Хорошая точка, к сожалению, пока не поддерживается. Я зарегистрировал еще один запрос функции для этого: [# 2943] (https://github.com/jOOQ/jOOQ/issues/2943) –

Смежные вопросы