Есть ли в PostgreSQL многозначный тип поля? - PullRequest
7 голосов
/ 28 октября 2011

Я хочу знать, возможно ли сохранить несколько значений в поле в PostgreSQL.

У меня есть таблица с именем Token со столбцами id, text и category.category является многозначным полем.Нужно ли создавать для него отдельную таблицу или есть способ сохранить ее в таблице Token?

Ответы [ 2 ]

10 голосов
/ 28 октября 2011

В PostgreSQL есть массивы .Например:

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

Теперь вы можете вставить несколько категорий для каждой строки в token:

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

Вы можете найти такие строки как:

SELECT * FROM "token" WHERE 'cate1' = ANY ("category");
8 голосов
/ 28 октября 2011

Есть несколько:

...