Правилният начин за внедряване на набор в SQL би бил с две допълнителни таблици:
CREATE TABLE set (
id int unsigned PRIMARY KEY AUTO_INCREMENT
);
CREATE TABLE set_member (
set_id int unsigned NOT NULL,
FOREIGN KEY (set_id) REFERENCES set(id),
member <whatever_type_your_set_is_of> NOT NULL,
UNIQUE (set_id, member)
);
(Може да успеете да избегнете set
таблица, ако искате да съхранявате набори само в една таблица и тази таблица има уникален идентификатор и ще съхранявате само един набор на запис в таблицата)
Тъй като е много вероятно да не търсите подходящ SQL подход (което всъщност е добре, ако никога няма да извършвате никаква операция в базата данни върху тези набори, освен съхранение и извличане), вероятно ще съхранявате вашия набор денормализиран в едно поле на таблица, вместо да следвате препоръчаните практики; в този случай няма собствен тип данни MySQL, който може да представлява набор на Python и ще трябва да сериализирате своя набор в varchar
или text
колона. От вас зависи да изберете формат за сериализация, който отговаря на вашите нужди.