PostgreSQL中是否有可用的多值字段类型?

时间:2011-10-28 04:07:12

标签: arrays postgresql database-design types multivalue

我想知道是否可以在PostgreSQL的字段中存储多个值。

我有一个名为Token的表格,其中包含idtextcategory列。 category是一个多值字段。是否有必要为它创建一个单独的表,还是有办法将其存储在Token表中?

2 个答案:

答案 0 :(得分:9)

PostgreSQL中有arrays。例如:

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");

答案 1 :(得分:7)

有几个: