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 :

clé primaire et clé index


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut clé primaire et clé index
    Bonjour a tous

    Sorry si je pose une question bête mais j'ai un petit soucis avec une base de données.

    J'ai fait le mcd avec amc designor
    j'ai crée me mpd avec le même soft
    après création de la base de donnes avec le script obtenus j'ai un message d'erreur sur une de mes tables.

    Pour bien faire je vais essayer d'être précis.

    La base de données est crée sous mysql dans easyphp

    L'erreur s'affiche sur une table qui est créé automatiquement avec le mpd en partant de 2 clés etrangeres.
    C'est d'ailleur tout ce que la table contient.

    Le message d'erreur est le suivant: La colonne `ID` ne devrait pas faire partie à la fois d'une clé primaire et d'une clé index

    Je crois qu'il y a une histoire avec les cles etrangeres dans mysql mais pas moyen de mettre la main dessus.

    Si quelque-un a une idée merci d'avance.

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Peux-tu nous montrer la requête de création de table incriminée ?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create table CREE_PAR
    (
        ID                              int(6)            not null,
        NUMEROAUTEUR                    int(6)            not null,
        constraint PK_CREE_PAR primary key (ID, NUMEROAUTEUR)
    )
    go
    a sa s'ajoute 2 alter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    alter table CREE_PAR
        add constraint FK_CREE_PAR_LIEN_134_ENTITE foreign key  (ID)
           references ENTITE (ID)
    go
     
    alter table CREE_PAR
        add constraint FK_CREE_PAR_LIEN_135_AUTEUR foreign key  (NUMEROAUTEUR)
           references AUTEUR (NUMEROAUTEUR)
    go
    Je crois que j'ai trouve un début de réponse

    il serait je crois nécessaire de mettre la table en type INNODB

    Mais est il possible de faire sa sans pour autemps recréer la base?

    Je trouve pas ou je peux changer sa dans easyphp

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    En fait si ton "message d'erreur" est juste le warning de phpMyAdmin, tu peux simplement l'ignorer.

  5. #5
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Oui, pour que les FK soit gérées, la table doit être de type InnoDB, mais, normalement les tables MyISAM les acceptent sans les gérer.
    Sous PMA tu peux aisément changer le type d'une table.
    Mais je ne suis pas certain que cela résolve le problème.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Ignorer les messages d'erreur même si ils sont acceptés sans etre bloquant est dans ma situation difficile car l'apli sur la quelle je bosse devra etre propose a un jury fin avril pour un diplôme a l'afpa .
    Je crois que je vais être oblige de recréer toute la base en mettant les tables en INNODB même si sa m'embête car je perds tout ce que j'y ai entre comme infos.

    En espérant que sa aille mieux comme sa

    Merci en tout cas

  7. #7
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par EIN-LESER Voir le message
    Je crois que je vais être oblige de recréer toute la base en mettant les tables en INNODB même si sa m'embête car je perds tout ce que j'y ai entre comme infos.
    Si tu fais un dump mysql des contenus tu pourras les réinsérer dans les nouvelles tables.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Citation Envoyé par EIN-LESER Voir le message
    Ignorer les messages d'erreur même si ils sont acceptés sans etre bloquant est dans ma situation difficile car l'apli sur la quelle je bosse devra etre propose a un jury fin avril pour un diplôme a l'afpa .
    Je crois que je vais être oblige de recréer toute la base en mettant les tables en INNODB même si sa m'embête car je perds tout ce que j'y ai entre comme infos.

    En espérant que sa aille mieux comme sa

    Merci en tout cas
    Toute la question est : est-ce un message d'erreur de MySQL, auquel cas c'est vraiment gênant, ou juste le warning de phpMyAdmin (qui est une innovation idiote d'un outil client) ?

    Donc, merci de nous dire où tu vois ce message...

    Sinon, pour passer tes tables en InnoDB, c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable ENGINE = INNODB ;
    Mais je doute que ça change quoi que ce soit.

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

Discussions similaires

  1. Clé primaire composée et index
    Par Sango64 dans le forum Requêtes
    Réponses: 5
    Dernier message: 20/12/2013, 15h42
  2. clé primaire composée et index
    Par ionesco dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/10/2009, 09h27
  3. [phpmyadmin] Remettre l'index d'un clé primaire à 0
    Par Death83 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2006, 00h01
  4. Réponses: 17
    Dernier message: 25/04/2005, 09h49
  5. vider table + index primaire
    Par jihed dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/07/2004, 16h43

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