Jeśli szukasz sposobu, aby to zrobić w sposób, który można przeszukiwać, to nie.
Kilka przeszukiwalnych metod (obejmujących więcej niż 1 kolumnę i/lub tabelę):
- Użyj kilku SET kolumny. Ograniczasz się do 64 pozycji (wł./wył.) w zestawie, ale prawdopodobnie nie możesz znaleźć sposobu na ich pogrupowanie.
- Użyj 3 tabel:Elementy (id, ...), FlagNames(id, name) i tabeli przestawnej ItemFlags(item_id, flag_id). Następnie możesz wysyłać zapytania o elementy z połączeniami .
Jeśli nie potrzebujesz go do przeszukiwania, wszystko, czego potrzebujesz, to metoda serializacji danych przed umieszczeniem ich w bazie danych i odserializowanie ich po wyciągnięciu, a następnie użycie kolumny char lub varchar.
- Użyj funkcji wbudowanych w Twój język (serializuj/unserializuj PHP).
- Połącz ze sobą serię znaków „y” i „n”.
- Umieść bitowe wartości w łańcuchu (8 bitów na znak) w kliencie przed wywołaniem bazy danych MySQL i rozpakuj je podczas pobierania danych z bazy danych. Jest to najbardziej wydajny mechanizm przechowywania (jeśli wszystkie wiersze są takie same, użyj char[x], a nie varchar[x]) kosztem danych niemożliwych do przeszukiwania i nieco bardziej skomplikowanego kodu.