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

Ren*_*ani 9 arrays postgresql database-design types multivalue

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

我有一个Token用列调用的表id,textcategory.category是一个多值领域.是否有必要为它创建一个单独的表,还是有办法将其存储在Token表中?

min*_*hee 11

PostgreSQL中有数组.例如:

CREATE TABLE "token" (
  "id"       integer PRIMARY KEY,
  "text"     text,
  "category" text[]
);
Run Code Online (Sandbox Code Playgroud)

现在,您可以为每行插入多个类别token:

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

您可以找到以下行:

SELECT * FROM "token" WHERE 'cate1' = ANY ("category");
Run Code Online (Sandbox Code Playgroud)


mu *_*ort 9

有几个: