5
我想知道是否可以在PostgreSQL的字段中存儲多個值。PostgreSQL中是否有可用的多值字段類型?
我有一個名爲Token
的表,其列id
,text
和category
。 category
是一個多值字段。是否需要爲它創建一個單獨的表或者是否有將其存儲在Token
表中的方法?
我想知道是否可以在PostgreSQL的字段中存儲多個值。PostgreSQL中是否有可用的多值字段類型?
我有一個名爲Token
的表,其列id
,text
和category
。 category
是一個多值字段。是否需要爲它創建一個單獨的表或者是否有將其存儲在Token
表中的方法?
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");
有以下幾種:
如果我喜歡的查詢'SELECT * FROM令牌WHERE類別=「cate1'',查詢會在數組內搜索? –
@RenatoDinhaniConceição不,您可以使用'@>'運算符或['ANY'](http://www.postgresql.org/docs/9.0/interactive/functions-comparisons.html#AEN16871)hyperoperator。 – minhee