Si está buscando una manera de hacer esto de una manera que se pueda buscar, entonces no.
Un par de métodos de búsqueda (que involucran más de 1 columna y/o tabla):
- Utilice un montón de SET columnas Está limitado a 64 elementos (activados/desactivados) en un conjunto, pero probablemente no encontrará una manera de agruparlos.
- Use 3 tablas:elementos (id, ...), FlagNames (id, nombre) y una tabla dinámica ItemFlags (item_id, flag_id). A continuación, puede consultar elementos con joins .
Si no necesita que se pueda buscar, entonces todo lo que necesita es un método para serializar sus datos antes de colocarlos en la base de datos, y deserializarlos cuando los extraiga, luego use una columna char o varchar.
- Use las funciones integradas en su idioma (PHP serialize/unserialize).
- Concatenar una serie de caracteres "y" y "n".
- Comprima sus valores en una cadena (8 bits por carácter) en el cliente antes de realizar una llamada a la base de datos MySQL y descomprímalos cuando recupere datos de la base de datos. Este es el mecanismo de almacenamiento más eficiente (si todas las filas son iguales, use char[x], no varchar[x]) a expensas de que los datos no se pueden buscar y el código es un poco más complicado.