Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec les clés primaires

Deux clés primaires sur deux tables différentes

    6 janvier 2012 à 15:50:35

    Bonjour à tous,

    Je rencontre actuellement un problème concernant les clés primaires. Voici les tables concernées :

    CREATE TABLE IF NOT EXISTS `entreprises` (
      `RAISON_SOCIALE` varchar(255) DEFAULT NULL,
      `ADRESSE1` varchar(50) DEFAULT NULL,
      `ADRESSE2` varchar(50) DEFAULT NULL,
      `CP` varchar(50) DEFAULT NULL,
      `VILLE` varchar(50) DEFAULT NULL,
      `Pays` varchar(255) DEFAULT NULL,
      `CodeTA1` varchar(255) DEFAULT NULL,
      `CodeTA2` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`Raison_sociale`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    CREATE TABLE IF NOT EXISTS `emplois` (
      `Raison_sociale` varchar(255) DEFAULT NULL,
      `Code_ap` varchar(255) DEFAULT NULL,
      `Date_debut_contrat` date DEFAULT NULL,
      `Date_fin_contrat` date DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    CREATE TABLE IF NOT EXISTS `taxe` (
      `Raison_sociale` varchar(255) DEFAULT NULL,
      `Date` date DEFAULT NULL,
      `Montant` double DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    


    Lorsque j'ai souhaité créer une clé primaire dans les deux autres champs, on me dit "doublons sur la clé primaire".
    J'en ai besoin pour ensuite créer des clés étrangères et ainsi lier les tables.

    Quelqu'un a-t-il la solution à ce problème ?

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      6 janvier 2012 à 16:00:46

      "Créer une clé primaire dans les 2 autres champs"

      C'est-à-dire ?? Quels sont les requêtes qui foirent ?
      • Partager sur Facebook
      • Partager sur Twitter
        6 janvier 2012 à 16:12:59

        Salut Taguan, et merci de ta réponse.

        C'est-à-dire PRIMARY KEY (`Raison_sociale`) dans les deux autres champs
        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2012 à 16:15:11

          Mais... Raison_sociale, je suppose que ça sert à référencer l'entreprise, et donc y a bien plusieurs taxes et plsueirus emplois par entreprise. Non ???
          • Partager sur Facebook
          • Partager sur Twitter
            9 janvier 2012 à 22:53:45

            salut

            je pense que tu dois confondre les clefs primaires et etrangeres

            le champ "raison sociale" dans tes tables emploi et taxes doivent servir a pointer vers une ligne de la table entreprise : ce sont des clefs etrangeres

            ce qui n'empeche pas chaque ligne de ces deux tables d'avoir une clef primaire (par ex id_taxe et id_emploi)

            • Partager sur Facebook
            • Partager sur Twitter

            Problème avec les clés primaires

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown