Чи існує багатозначний тип поля, доступний у PostgreSQL?

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

У мене є таблиця з назвою Token з колонками id , text і category . category - це багатозначне поле. Чи потрібно створити для нього окремий стіл або є спосіб зберегти його в таблиці Token ?

5

2 Відповіді

У PostgreSQL існують масиви . Наприклад:

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

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

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

Ви можете знайти рядки, як:

SELECT * FROM "token" WHERE 'cate1' = ANY ("category");
9
додано
Якщо я виконую запит типу SELECT * FROM token WHERE category = 'cate1' , запит буде шукати всередині масиву?
додано Автор Renato Dinhani, джерело
@ RenatoDinhaniConceição Ні, ви можете скористатись оператором @> або БУДЬ-ЯКИЙ , а не гіператор.
додано Автор minhee, джерело

Є кілька:

7
додано
IT KPI - Databases
IT KPI - Databases
162 учасників