Hvis du leder efter en måde at gøre dette på en måde, der er søgbar, så nej.
Et par søgbare metoder (der involverer mere end 1 kolonne og/eller tabel):
- Brug en masse SET kolonner. Du er begrænset til 64 elementer (til/fra) i et sæt, men du kan sandsynligvis finde ud af en måde at gruppere dem på.
- Brug 3 tabeller:Elementer (id, ...), FlagNames(id, navn) og en pivottabel ItemFlags(item_id, flag_id). Du kan derefter forespørge efter elementer med joins .
Hvis du ikke har brug for, at det er søgbart, så er alt, hvad du behøver, en metode til at serialisere dine data, før du lægger dem i databasen, og en unserialize det, når du trækker det ud, og derefter bruge en char eller varchar kolonne.
- Brug faciliteter indbygget i dit sprog (PHP's serialize/unserialize).
- Sæt en række "y" og "n" tegn sammen.
- Bitpak dine værdier i en streng (8 bits pr. tegn) i klienten, før du foretager et opkald til MySQL-databasen, og pak dem ud, når du henter data ud af databasen. Dette er den mest effektive lagringsmekanisme (hvis alle rækker er ens, brug char[x], ikke varchar[x]) på bekostning af, at dataene ikke er søgbare og lidt mere kompliceret kode.