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

Outils MySQL Discussion :

InnoDB et clés étrangères chez wanadoo...


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut InnoDB et clés étrangères chez wanadoo...
    Voila je suis heberge chez wanadoo ou ils ont la version phpmyadmin phpMyAdmin 2.6.1-pl3, mais je ne connais pas la version de mysql installée.
    Je voulais savoir si les cles etrangeres y sont gérées.
    Par exemple si je fais ça:
    CREATE TABLE `a` (
    `id` int(6) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) TYPE=InnoDB;

    CREATE TABLE `b` (
    `id` int(6) NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) TYPE=InnoDB;


    CREATE TABLE `c` (
    `ida` int(6) NOT NULL default '0',
    `idb` int(6) NOT NULL default '0',
    constraint fk1 foreign key (ida) references a(id),
    constraint fk2 foreign key (idb) references b(id),
    PRIMARY KEY (`ida`,`idb`)
    ) TYPE=InnoDB;


    Normalement je ne peux pas inserer dans la table 'c' des valeurs qui n'existent pas dans la table 'a' et 'b' ?
    Or je peux et quand je veux exporter les tables plus de contraintes et elles sont de type MyIsam.

    Si vous pouviez m'éclairer, merci.

  2. #2
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    personne n'a de lumière pour moi

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Par défaut
    je ne sais pas à partir de quelle version de Mysql , le type innodb est supporté.

    et si tu fais la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    show create table c;
    il te met quoi comme engine?

  4. #4
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    j'essairai demain
    je te tiendrai au courant

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Par défaut
    il faut un mysql 3.23 pour gerer l'intégrité référentielle en InnoDB

  6. #6
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    ok le show table ne me montre rien de spécial

    mais je ne connais pas la version de mysql, je suis allé voir surle site de phpmyadmin et je ne vois pas vraiment

  7. #7
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    il semblerait bien que ce soit une version > a la 3.23
    mais so mon petit script au dessus est bon
    je ne devrais pas pouvoir inserer des valeurs dans "c" qui ne sont ni dans "a" ni dans "b"??

    quel peut bien être le problème?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Par défaut
    le show table dit si le engine est InnoDB ou MyISAM
    Il y'a que InnoDB qui supporte les clés étrangères.
    MyISAM lui prend les clés étrangères mais ne les applique pas.
    Sur certaines versions de Mysql le InnoDB n'existe pas.

    Ton code est bon , je l'ai testé sur mon Mysql et il marche.

  9. #9
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    merci aaronw

    donc si dans la table "a" tu mets 1 et dans la "b" par exemple
    dans la table "c" tu peux pa mettre 23 et 45 par exemple

    moi ça me le fait quand même.

    Quand je cree ma table InnoDb et qu'ensuite je veux l'exporter il me dit que c'est une MyIsam donc cette version de Mysql sur le serveur wanadoo ne prend pas en compte le type InnoDb

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Par défaut
    de rien

    PS : n'oublie pas de mettre résolu

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

Discussions similaires

  1. Clés étrangères - InnoDB
    Par Weeky dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2010, 19h27
  2. Réponses: 1
    Dernier message: 21/10/2009, 16h26
  3. Réponses: 1
    Dernier message: 20/05/2008, 18h08
  4. compréhension fonctionnement clés étrangères innoDB
    Par halina dans le forum Requêtes
    Réponses: 8
    Dernier message: 11/05/2005, 10h36
  5. [Script]prob de clés étrangères
    Par Seb7 dans le forum Langage SQL
    Réponses: 13
    Dernier message: 08/07/2003, 17h37

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