2008-11-15 5 views
0

je dois stocker des données dans une base MySQL 100-200, les données qui seraient séparées par des tuyaux ..PHP MYSQL - De nombreuses données dans une colonne

une idée de stocker sur MySQL? devrais-je utiliser une seule colonne ou devrais-je faire plusieurs colonnes multiples? Je ne sais pas exactement combien de données les utilisateurs vont entrer.

J'ai fait un formulaire, il s'est arrêté à la partie où plusieurs données doivent être stockées.

Quelqu'un sait comment stocker plusieurs données dans une seule colonne ou existe-t-il un autre moyen?

s'il vous plaît aidez-moi ..

vous remercie beaucoup

Répondre

4

Vous devez implémenter votre table avec un ID pour la source des données. Cet identifiant sera utilisé pour regrouper tous ces éléments de données similaires afin que vous n'ayez pas besoin de savoir combien vous en avez auparavant.

vos colonnes de table et les données pourraient être mis en place comme ceci:

sourceID  data 
--------  ---- 
     1   100 
     1   200 
     1   300 
     2   100 
     3   100 
     3   200 

Lorsque vous interrogez la base de données, vous pouvez simplement tirer dans toutes les données avec le même sourceID. Avec les données ci-dessus, la requête suivante retournerait deux morceaux de données.

SELECT data 
FROM dataTable 
WHERE sourceID = 3 

Si vous avez plusieurs tables, vous aurez besoin de les associer les uns aux autres en utilisant la syntaxe JOIN. Supposons que vous ayez une table principale avec des données utilisateur et que vous souhaitiez associer toutes ces données d'entrée à chaque utilisateur.

userID userName otherData 
------ -------- --------- 
    1   Bob   xyz 
    2   Jim   abc 
    3   Sue  lmnop 

Si vous souhaitez rejoindre les données de ce tableau (USERTABLE) avec les données de la dataTable, utilisez une requête comme ceci:

SELECT userID, userName, data, otherData 
FROM userTable 
LEFT JOIN dataTable 
ON userTable.userID = dataTable.sourceID 
WHERE userTable.userID = 1 

Cette requête vous donnera toutes les données pour l'utilisateur avec un ID de 1. Cela suppose que l'ID source de votre table de données utilise l'ID utilisateur de la table utilisateur pour garder une trace de l'appartenance des données supplémentaires.

Notez que ce n'est pas la seule syntaxe JOIN dans SQL. Vous pouvez en apprendre davantage sur les autres types de jointures here.

1

Si vous avez un formulaire où ces données vient, stocker chaque entrée de votre formulaire dans sa propre colonne séparée.

Rechercher des relations dans vos données: semble que vous avez un « a beaucoup de » relation que vous voudrez peut-être un indique la table de liaison où vous pouvez faire un simple requête de jointure ...

Stockage de données multiples en un seul colonne sera un cauchemar pour les requêtes et les mises à jour, sauf si vous stockez XML, événement, il me donnerait des cauchemars ...

1

On dirait que vous avez besoin d'une table de jointure. Ayez juste les données dont vous avez besoin dans les deux tables, créez une troisième table avec l'ID des deux tables, puis cela n'a pas d'importance si vous avez besoin de 100, 200, 300 ou plus.

Questions connexes