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 :

Clef étrangère


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 42
    Points : 35
    Points
    35
    Par défaut Clef étrangère
    Bonsoir,

    Je souhaiterais utiliser des clefs étrangères mais je n'y comprend pas tout...
    J'ai deux tables: Catégories et Fromages.
    Je souhaiterais une clef étrangère dans la table des fromages relative à l'ID_Catégorie (de la table catégories).

    Quelqu'un pourrait me donner la requête car avec le manuel MYSQL je ne m'en sors pas.
    Il me fait des index et n'applique pas de contraintes:
    je peux très bien entrer des ID_Catégories sur ma table Fromages qui n'existent pas dans la table Catégories...


    J'ai utilisé ça:

    CREATE TABLE Categorie (
    ID_Categorie int NOT NULL auto_increment PRIMARY KEY,
    Libelle_Categorie text,
    );

    CREATE TABLE Fromage(
    ID_Fromage int NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    ID_Categorie INT,
    FOREIGN KEY (ID_Categorie) REFERENCES Categorie(ID_Categorie) ON UPDATE CASCADE ON DELETE CASCADE ,
    Nom_Fromage char( 255 )
    )

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 925
    Points : 6 040
    Points
    6 040
    Par défaut
    Assure toi que:

    1/ le serveur MySQL est lancé avec InnoDB actif
    2/ que les tables sont créees avec le TYPE INNODB

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par qi130
    Assure toi que:

    1/ le serveur MySQL est lancé avec InnoDB actif
    2/ que les tables sont créees avec le TYPE INNODB

    Les tables sont créées comme montré ci-dessus...

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 925
    Points : 6 040
    Points
    6 040
    Par défaut
    Citation Envoyé par cybergifle
    Les tables sont créées comme montré ci-dessus...
    Chaque création de table doit se terminer par TYPE=INNODB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Create table xxxx (
    	....
     Primary Key (....)) TYPE = InnoDB;
    Et dans la console de lancement du serveur doit figurer:
    ......InnoDB: Started; log sequence number......

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 58
    Points : 67
    Points
    67
    Par défaut
    Oui seuls les tables InnoDB et BDB gèrent les contraintes d'intégrités pour le moment, bien que ce soit prévus dans les prochaines version de MySQL pour les tables MyISAM ...

    Donc n'oublie pas de verifier le type de table utilisé

    Edit: Hmm la fatigue, c'est les transactions que gère également les tables BDB

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Je pense que je vais régler ça dans le code car je vais de problèmes en problèmes...je trouve mysql trop light...
    Merci en tout cas pour votre aide !

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

Discussions similaires

  1. tests de script et clefs étrangères en INSERT
    Par Invité dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/08/2005, 18h15
  2. clef étrangère référençant une autre base
    Par menoce dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/07/2005, 20h31
  3. 5 clefs étrangères?
    Par P@t dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/05/2005, 17h52
  4. [wamp5] [Relations] Clefs étrangéres
    Par nebule dans le forum Outils
    Réponses: 6
    Dernier message: 05/10/2004, 12h17
  5. [SQL SERVER 2000] Problème clef étrangére
    Par Tankian dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/05/2004, 11h44

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