2011-10-28 2 views

답변

9

PostgreSQL에는 arrays이 있습니다. 예를 들어 :

CREATE TABLE "token" (
    "id"  integer PRIMARY KEY, 
    "text"  text, 
    "category" text[] 
); 

이제 token에 각 행에 대해 여러 범주를 삽입 할 수 있습니다

SELECT * FROM "token" WHERE 'cate1' = ANY ("category"); 
+0

같은 쿼리는'* 토큰 FROM WHERE 카테고리 = 'cate1'' 쿼리를 선택 배열 안에서 검색할까요? –

+0

@ RenatoDinhaniConceição 아니요, 대신 @@ 연산자 또는 ['ANY'] (http://www.postgresql.org/docs/9.0/interactive/functions-comparisons.html#AEN16871) hyperoperator를 사용할 수 있습니다. – minhee

7

여러 가지가 있습니다 :

INSERT INTO "token" ("id", "text", "category") 
VALUES (1, 'some text', ARRAY['cate1', 'cate2']); 

당신은 같은 행을 찾을 수 있습니다

  • 내가 할 경우 0
  • hstore (연관 테이블)
  • composite types (더 많거나 적은 C에서 구조체와 유사)
관련 문제