시리얼 (자동 증가) uri_id
열 및 uri
열이있는 PostgreSQL uris
테이블이 있습니다. 자바 Integer
을 반환jOOQ 및 PostgreSQL 직렬 및 반환 값을 반환
createDSLContext().select(fieldByName("uri_id")).from(tableByName("uris"))
.where(fieldByName("uri").equal(uri.toString())).fetchOne(0, Integer.class))
: 나는 jOOQ을 사용하여 테이블의 벌금을 조회 할 수 있습니다. 나는 새로운 URI를 삽입 할 때, 나는 생성 된 uri_id
키를 다시 얻으려면, 그래서 나는이 시도 :
createDSLContext().insertInto(tableByName("uris"), fieldByName("uri"))
.values(uri.toString()).returning(fieldByName("uri_id")).fetchOne().getValue(0, Integer.class)
내가 오류 얻을이 시간 : 그냥 테스트로
Exception in thread "main" java.lang.IllegalArgumentException: Field 0 is not contained in list
을, I INSERT
문에 uri_id
에 대한 리터럴 값을 제공하려고 시도했지만 여전히 오류가 발생했습니다. 그것은 올바른 SQL과 같은
를 생성하는 중입니다
insert into "uris" ("uri") values ('http://example.com/') returning "uri_id"
그러나 반환 된 레코드가 비어 있습니다. insert 문에 리터럴 uri_id
을 지정할 때도 마찬가지입니다.
jOOQ를 사용하여 PostgreSQL INSERT
문에서 자동 생성 된 열을 검색하는 방법은 무엇입니까?