Ne stockez pas une liste séparée par des virgules ("tableau") dans une colonne de base de données. Utilisez une table de références croisées .
(Si vous souhaitez appliquer la condition "pas plus de 3 catégories" dans la base de données, vous pouvez ajouter une colonne supplémentaire category_number
à la table de correspondance. Idéalement, vous utiliseriez alors une contrainte de vérification pour limiter cette colonne aux valeurs 1, 2 et 3, mais MySQL ne prend pas en charge les contraintes de vérification; à la place, vous pourriez faire le category_number
colonne une clé étrangère vers une autre table permitted_category_number
qui a trois rangées.)