Om du letar efter ett sätt att göra detta på ett sätt som är sökbart, så nej.
Ett par sökbara metoder (som involverar mer än en kolumn och/eller tabell):
- Använd ett gäng SET kolumner. Du är begränsad till 64 objekt (på/av) i en uppsättning, men du kan förmodligen komma på ett sätt att gruppera dem.
- Använd tre tabeller:Items (id, ...), FlagNames(id, name) och en pivottabell ItemFlags(item_id, flag_id). Du kan sedan fråga efter objekt med joins .
Om du inte behöver det för att vara sökbart behöver du bara en metod för att serialisera din data innan du lägger den i databasen, och en avserialisera den när du drar ut den, använd sedan en kolumn char eller varchar.
- Använd faciliteter som är inbyggda i ditt språk (PHP:s serialize/unserialize).
- Sätt ihop en serie "y" och "n" tecken tillsammans.
- Bitpacka dina värden i en sträng (8 bitar per tecken) i klienten innan du gör ett anrop till MySQL-databasen, och packa upp dem när du hämtar data från databasen. Detta är den mest effektiva lagringsmekanismen (om alla rader är lika, använd char[x], inte varchar[x]) på bekostnad av att data inte är sökbar och något mer komplicerad kod.