IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

probleme en Mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut probleme en Mysql
    Bonjour;
    quand on crée une table avec Mysql, on crée les différents champs.
    par exemple, un champ peut etre un VARCHAR(10) c a d une chaine de 10 caractéres.
    le probleme est que je veux qu'un champ prend une liste de chaine de caractéres (un champ prend plusieurs valeurs, en prenant chaque valeur).
    merci

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, je n'ai pas bien compris : tu veux qu'un champ prennent des valeurs dans une liste que tu as déterminée : par ex, ton champ ne doit contenir que chat, chien ou poisson :

  3. #3
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    ce ke je veux, c ke tu peux ajouter n'importe kel valeur (non determiné) et à chaque fois cette valeur s'ajoute dans ce champ

  4. #4
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Ah ok, mais tu peux dire dans quel contexte tu veux faire ça :

    Comme ça, à froid, je pencherais pour faire une 2ème table avec 2 champs : id et texte (varchar(10)) et dans cette 2ème table tu stockes tous les textes en faisant référence à l'autre table par l'id (clé étrangère)

  5. #5
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    j'ai 2 tables : utilisateur et groupe
    un utilisateur peut appartenir à plusieurs groupes
    donc j'ai mi l'id de l'utilisateur comme champ dans la table groupe.
    donc au niveau de la saisie d'un groupe, on peut avoir plusieurs utilisateurs dans le champ ID_USER

  6. #6
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Ah ok, dans ce cas il te faut 3 tables :
    - groupe : id, nom...
    - utilisateur : id, nom...
    - appartenance : id_groupe, id_utilisateur
    (les soulignés représentent les clés primaires)

    Ce sera plus propre ;-)

  7. #7
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    donc je cré la table comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE appartenance(
    	ID_GROUP INT(10) NOT NULL,
    	ID_USER INT(10) NOT NULL,
           	KEY (ID_GROUP, ID_USER)
    ) TYPE=MyISAM;
    eske c vrai ?

  8. #8
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    OK, mais pour la clé primaire, il ne faudrait pas mettre PRIMARY KEY au lieu de KEY tout seul :

    Sinon, c'est ça et pour les enregistrements, un petit exemple vaut mieux qu'un long discours :
    Groupe (id, nom) :
    - 1, g1
    - 2, g2
    - 3, g3

    Utilisateur (id, nom) :
    - 1, u1
    - 2, u2
    - 3, u3
    - 4, u4

    Appartient (id_groupe, id_utilisateur) :
    - 1, 1 -> le groupe 1 contient l'user 1
    - 1, 2 -> le groupe 1 contient l'user 2
    - 2, 2 -> le groupe 2 contient l'user 2
    - 2, 3
    - 2, 4
    - 3, 1
    - 3, 4
    - 4, 4

    Comme ça tu peux mettre autant d'user par groupe que tu veux et un utilisateur peut appartenir à autant de groupe que tu veux : tu as fait une relation n, n ;-)

  9. #9
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    donc je ne mé pas PRIMERY_KEY, je laisse juste KEY(ID_USER, ID_GROUP) ???

  10. #10
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Si il me semble qu'il faut mettre PRIMARY KEY, j'ai testé sous PHPMyAdmin, il m'a généré ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE `appartient` (
    `id_group` INT( 10 ) NOT NULL ,
    `id_user` INT( 10 ) NOT NULL ,
    PRIMARY KEY ( `id_group` , `id_user` ) 
    ) TYPE = MYISAM ;

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Par défaut
    Citation Envoyé par amigauss
    donc je ne mé pas PRIMERY_KEY, je laisse juste KEY(ID_USER, ID_GROUP) ???
    ben moi j'ai toujours l'habitude de mettre primary_key je ne sais pas si key tout seul ca marche

  12. #12
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    moi j'utilise webmin dans un autre serveur, il refusé KEY tt seul, mais avec PRIMEY_KEY ça marche trés bien
    merci

  13. #13
    Membre confirmé Avatar de amigauss
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 119
    Par défaut
    j'ai un autre probleme au niveau de mon formulaire,
    au niveau du groupe, j'utilise un list (select multiple) pour afficher les différent utilisateurs, donc je dois les inserer dynamiquement.
    comment dois je faire ??

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Par défaut
    tu fais une page avec deux combo un pour l'utilisateur et un pour le groupe et tu fait en sorte de les ajouter a ta table appartient avec une requete.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [REDHAT] Problème install mysql.
    Par byloute dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 15/12/2005, 15h53
  2. problem avec mysql -h ip
    Par naourass dans le forum Requêtes
    Réponses: 5
    Dernier message: 11/11/2005, 12h53
  3. Probleme requete Mysql avec WHERE
    Par Dom_the_quaker dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/10/2005, 16h21
  4. Probleme api mysql
    Par ThomasC dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/09/2004, 16h00
  5. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo