Správným způsobem implementace sady v SQL by byly dvě další tabulky:
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)
);
(Možná se budete moci vyhnout set
tabulky, pokud chcete ukládat sady pouze do jedné tabulky a tato tabulka má jedinečné ID a do tabulky uložíte pouze jednu sadu na záznam)
Protože je velmi pravděpodobné, že nehledáte správný přístup SQL (což je ve skutečnosti v pořádku, pokud nikdy nebudete s těmito sadami provádět žádnou operaci v databázi, kromě ukládání a vyhledávání), pravděpodobně uložíte svou sadu denormalizovanou do jediného pole v tabulce namísto dodržování doporučených postupů; v takovém případě neexistuje žádný nativní datový typ MySQL, který by mohl reprezentovat sadu Python, a budete muset svou sadu serializovat do varchar
nebo text
sloupec. Je zcela na vás, abyste si vybrali formát serializace, který vyhovuje vašim potřebám.