저는 디비의 컬럼으로 배열을 잘 안씁니다.

하지만 쓸수밖에 없을때가 있는데 배열로 된 것은 일반 쿼리문 하고 좀 틀리게 삭제등을 해야합니다.

알면 간단하지만 모르면 정말 해매야하는 부분 입니다.


그럼 간단하게 배열로 된 컬럼내의 특정 값을 select 및 delete를 해보겠습니다.


ex) testtable 테이블의 int_array컬럼에서 3이포함되어있는 열을 select합니다.

SELECT * from testtable WHERE 3 = ANY(int_array);



ex) testtable이라는 테이블에 int_array 라는 배열컬럼내의 배열들중 3만 삭제합니다.


UPDATE testtable SET int_array =array_remove(int_array , 3 ) WHERE 3 = ANY(int_array); 

'DB' 카테고리의 다른 글

우분투에서 unixODBC설정하기 (postgresql)  (0) 2014.12.19

+ Recent posts