Je crée un système pour stocker des données de stat utilisateur comme suit:MySQL Rechercher
Table Stats =========== id name ----------- 1 height 2 weight 3 eye_colour 4 etc...
Table Stat_Options ================== id stat_id name 1 1 170cm 2 1 172cm 3 1 174cm 4 2 60kg 5 2 65kg
Et je stocke les IDs des stat_options dans le tableau utilisateur comme suit:
Table User_Stats ================ id user_id height weight eye_colour etc... --------------------------------------------------------- 1 10 3 5 7
Le raisonnement derrière le stockage de l'ID était que le 'nom' de l'option stat_option peut toujours être changé et que l'enregistrement de l'utilisateur n'aurait pas besoin d'être changé.
Mais en regardant cela, je pense qu'il peut présenter un problème, surtout lors de la recherche. Par exemple si je veux rechercher tous les utilisateurs entre deux hauteurs spécifiques? Une solution qui vient à l'esprit est d'insérer un champ 'value' dans la table Stat_Options, mais je ne sais toujours pas si cela fonctionnerait. Aucune suggestion?
'SELECT ... FROM STAT_OPTIONS O stat stat_id = 1 ET nom ENTRE x ET y' - qu'est-ce qui est difficile à ce sujet? Joignez-vous à la table STATS si vous avez besoin de stat_id basé sur la valeur du nom ... –