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

Langage SQL Discussion :

[MySQL - phpMyAdmin] Comment gérer les FK maintenant ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Par défaut [MySQL - phpMyAdmin] Comment gérer les FK maintenant ?
    Bonjour,

    Voila je savais faire mes tables etc avec des clés étrangères or aujourd hui je reviens et phpMyAdmin a beaucoup changer. Je voudrai pouvoir définir mes clés etrangères (j ai lu que ct inutile mais je trouve ca utile pour controle l'intégrité des données).
    Je voudrais donc savoir comment les créer ... parce que sous phpMyAdmin la gestion des relations n est possible que lorsque l on a indexé le champ ou bien rendu unique ... je vois pas le rapport ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    -- phpMyAdmin SQL Dump
    -- version 2.6.4-pl1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Lundi 30 Janvier 2006 à 17:28
    -- Version du serveur: 4.1.14
    -- Version de PHP: 5.0.5
    -- 
    -- Base de données: `sysfile_db`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `groups`
    -- 
     
    CREATE TABLE `groups` (
      `groups_id` int(2) NOT NULL auto_increment,
      `groups_name` varchar(25) collate latin1_general_cs NOT NULL default '',
      `groups_comment` varchar(50) collate latin1_general_cs NOT NULL default '',
      PRIMARY KEY  (`groups_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs AUTO_INCREMENT=1 ;
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `objects`
    -- 
     
    CREATE TABLE `objects` (
      `objects_id` int(4) NOT NULL auto_increment,
      `objects_name` varchar(15) character set latin1 NOT NULL default '',
      `objects_location` varchar(50) character set latin1 NOT NULL default '',
      `objects_idOwner` int(2) NOT NULL default '0',
      `objects_rightsOwner` char(3) character set latin1 default 'rwx',
      `objects_rightsGroup` char(3) character set latin1 default NULL,
      `objects_rightsWorld` char(3) character set latin1 default NULL,
      `objects_type` char(1) character set latin1 NOT NULL default '',
      PRIMARY KEY  (`objects_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs AUTO_INCREMENT=3 ;
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `users`
    -- 
     
    CREATE TABLE `users` (
      `user_id` int(2) NOT NULL auto_increment,
      `user_login` varchar(10) NOT NULL default '',
      `user_pass` varchar(30) NOT NULL default '',
      `users_group` int(2) NOT NULL default '0',
      PRIMARY KEY  (`user_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    Par exemple cette requete ne passe pas :
    ALTER TABLE 'users' ADD CONSTRAINT 'fk_users_groups' FOREIGN KEY ( 'users_ group' ) REFERENCES 'groups'( 'groups_id' ) ;

    Note J'ai cherché sur le forum mais je n ai pas trouvé la reponse claire a ma question merci

    Julie.

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Quel message d'erreur SVP ?

    Je ne vois pas d'anomalies, et la syntaxe de création de contraintes (étrangères ou autres) n'a pas changé récemment
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Par défaut
    On est obligé de passé le champ en INDEX ? Apparemment oui pourquoi ?

    Julie.

  4. #4
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Citation Envoyé par Julaie95
    On est obligé de passé le champ en INDEX ? Apparemment oui pourquoi ?
    Pardon, j'avais mal lu le début de ton message. Oui, en fait, tu ne peux contruire des clés étrangères qu'en référençant des champs qui sont eux même la clé primaire d'une table. C'est logique, dans le cas contraire, on pourrait avoir plusieurs enregistrements parents sinon ?

    cf http://sql.developpez.com/sqlaz/ddl/...partie2#L7.1.7 pour plus de détails.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/07/2005, 09h29
  2. Réponses: 2
    Dernier message: 08/07/2005, 10h40
  3. [C#/SQL] Comment gérer les exceptions d'une Procédure stockée ?
    Par thomas_strass dans le forum Accès aux données
    Réponses: 10
    Dernier message: 06/07/2005, 10h40
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44

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