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

 MySQL Discussion :

Pas de clé étrangère avec Myisam?


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut Pas de clé étrangère avec Myisam?
    Bonjour!

    Je travaille sur une application qui dispose d'une importante BDD dont je viens de recevoir le dump. Ce dump spécifie une utilisation myisam et une syntaxe que je ne comprends pas: l'application nécessite l'utilisation de clés étrangères et la syntaxe est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `T_Atab` (
      `A_ID_N` int(11) NOT NULL,
      `B_ID_N` int(11) NOT NULL,
    ...
    PRIMARY KEY  (`A_ID_N`,`B_ID_N`),
      KEY `Atab2_FK` (`B_ID_N`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    En fait, j'ai lu sur internet que Myisam ne supporte pas les clés étrangères. Mais ce code m'a l'air de dire le contraire.
    J'aimerais svp votre aide pour le comprendre et pour cette question de Myisam et des FK.

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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Bonjour,

    Non, ce code ne dit pas le contraire, même si le nom de la contrainte KEY peut le laisser croire . L'habit ne fait pas le moine, et si je nomme la contrainte 'Atab2_antiUV', elle ne protège pas des coups de soleil...

    Pour les FK avec MySQL, il faut des tables de type innoDB, et bien sûr que le dit InnoDB soit actif sur le serveur. Ensuite, il faut explicitement définir la contrainte.

    Tout est expliqué là: http://dev.mysql.com/doc/refman/5.0/fr/innodb.html

  3. #3
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    Oui merci bcp!
    Effectivement cela ne dit pas le contraire.

  4. #4
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    PS: et je crois avoir découvert qu'en fait c Hibernate (mon appli utilise Hibernate) qui gère, indépendamment du type de BDD choisi, les suppressions cascades et autre au niveau applicatif à la manière d'une FK applicative.

Discussions similaires

  1. Ctrl -] ne passe pas dans une console avec vim
    Par Celelibi dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 10/03/2006, 13h35
  2. [SQL-Server] Je n'arrive pas à faire tourner php avec Sql server (2005)
    Par bluecurve dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2006, 18h50
  3. Ne pas imprimer les articles avec stock zéro
    Par 810mcu dans le forum Bases de données
    Réponses: 10
    Dernier message: 23/12/2005, 12h15
  4. Ne pas rafraichir les images avec PHP
    Par tornaod dans le forum Langage
    Réponses: 4
    Dernier message: 07/12/2005, 22h44
  5. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18

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