2016-11-16 42 views
0

PostgreSQL 9.5의 10int[]에 추가하는 데 도움이 필요합니다.Postgres 정수 배열에 값 추가하기

나는 그것을 업데이트하려면이 형식을 사용할 수 있어야 문서에서 찾고 있지만 작동하지 않습니다 :

int[] + int push element onto array (add it to end of array) 

내가 시도이 실행 :

update table1 set integer_array = integer_array + 10::Integer. 

그것은 작동하지 않았고, 이 오류가 있습니다 :

ERROR: operator does not exist: integer[] + integer 
    Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts. 
    Position: 67 

나는 이것이 docu에있는 것과 같은 형식이라고 생각합니다. 이 작업을 수행하는 방법에 대한 조언.

답변

2

사용 array_append 함수는 배열의 끝에 요소를 추가합니다 :

UPDATE table1 
SET integer_array = array_append(integer_array, 5); 

5 그것은 귀하의 경우 정수 데이터 형의, 선택의 값입니다. 전체 테이블을 업데이트하지 않으려면 일부 WHERE 절이 필요할 수도 있습니다.

어떻게 작동하는지 보려면 아래 시도 :

SELECT ARRAY[1,2], array_append(ARRAY[1,2],3); 

결과 : 좋은 일

array | array_append 
-------+-------------- 
{1,2} | {1,2,3} 
+0

감사합니다. 일단 내가 이것을 대답으로 받아 들일 수 있습니다. –

+0

기꺼이 도와 드리겠습니다 :-) –

+0

Java Spring Boot에서이 작업을 수행 할 수 있습니까? –