No almacene una lista separada por comas ("matriz") en una columna de la base de datos. Utilice una tabla de referencias cruzadas .
(Si desea aplicar la condición "no más de 3 categorías" en la base de datos, puede agregar una columna adicional category_number
a la tabla de referencias cruzadas. Idealmente, entonces usaría una restricción de verificación para restringir esa columna a los valores 1, 2 y 3, pero MySQL no admite restricciones de verificación; en su lugar, puede hacer el category_number
columna una clave externa a otra tabla permitted_category_number
que tiene tres filas.)