Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
658 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySql] Probleme cle etrangere sur deux primary key

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mySql] Probleme cle etrangere sur deux primary key

n°2049322
ichigo56
Posté le 15-01-2011 à 16:53:33  profilanswer
 

Bonjour a tous ,

 

Voila j'ai un petit probleme en sql , en effet je crée une bdd en mySql  ,et dans cette base j'ai une table ( nom : Appartient) qui a un attribut qui est une fkey qui doit referencer deux primaray key de deux autre table (voir script de creation plus bas )

 

hors lors du lancement de script j'ai une erreur de type :

 
Citation :

ERROR 1005 (HY000): Can't create table 'Appartient' (errno: 150)(/quote]
et un INNODB status :
[quote]Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.

 

hors je n'arrive pas comprendre l'erreur ni a la corriger , quelqu'un aurait une idée svp ?

  
Spoiler :


-- Table CompteClient
CREATE TABLE CompteClient (
Login  VARCHAR(20) PRIMARY KEY,
MotDePasse VARCHAR(20) NOT NULL,
Email  VARCHAR(40) NOT NULL,
Nom  VARCHAR(20) NOT NULL,
Prenom  VARCHAR(20) NOT NULL,
DateNaissance DATE,
Adresse  VARCHAR(40) NOT NULL,
CodePostal INT  NOT NULL,
Pays  VARCHAR(20) NOT NULL,
IdCom  INT
) ENGINE=INNODB;

  

-- Table Categorie
CREATE TABLE Categorie (
NomCategorie VARCHAR(20) PRIMARY KEY
) ENGINE=INNODB;

 


-- Table Titre
CREATE TABLE Titre (
INDEX idx_Titre(IdTitre),
IdTitre  INT  PRIMARY KEY,
Artiste  VARCHAR(20) NOT NULL,
NomTitre VARCHAR(20) NOT NULL,
Album  VARCHAR(20),
Prix  INT  NOT NULL,
NomCat  VARCHAR(20) NOT NULL,
CONSTRAINT fk_nomCat
FOREIGN KEY (NomCat) REFERENCES Categorie(NomCategorie)
) ENGINE=INNODB;

 


-- Table Commande
CREATE TABLE Commande (
INDEX idx_Commande(IdCommande),
IdCommande INT  PRIMARY KEY,
Date  DATE  NOT NULL,
Prix  INT  NOT NULL,
Log  VARCHAR(20) NOT NULL,
CONSTRAINT fk_log
FOREIGN KEY (Log) REFERENCES CompteClient(Login)
) ENGINE=INNODB;

 


-- Table Appartient
CREATE TABLE Appartient (
Titre  VARCHAR(20),
INDEX     (Titre) ,
CONSTRAINT fk_titre
FOREIGN KEY (Titre) REFERENCES Titre(IdTitre),
Commande  VARCHAR(20) NOT NULL,
INDEX       (Commande) ,
CONSTRAINT fk_commande
FOREIGN KEY (Commande) REFERENCES Commande(IdCommande),
CONSTRAINT pk_titre_comm
) ENGINE=INNODB;

 


ALTER TABLE CompteClient
ADD CONSTRAINT fk_idCom FOREIGN KEY (IdCom) REFERENCES Commande(IdCommande);


Message édité par ichigo56 le 15-01-2011 à 19:39:54

---------------
«C'est ainsi, que périra le monde : dans la joie générale des gens spirituels qui croiront à une farce.»
mood
Publicité
Posté le 15-01-2011 à 16:53:33  profilanswer
 

n°2049359
ichigo56
Posté le 15-01-2011 à 19:40:14  profilanswer
 

petit up si quelqu'un a des idées


---------------
«C'est ainsi, que périra le monde : dans la joie générale des gens spirituels qui croiront à une farce.»
n°2049401
ichigo56
Posté le 16-01-2011 à 00:46:38  profilanswer
 

up du soir/matin


---------------
«C'est ainsi, que périra le monde : dans la joie générale des gens spirituels qui croiront à une farce.»
n°2049419
Soileh
Lurkeur professionnel
Posté le 16-01-2011 à 10:35:11  profilanswer
 

Ce ne serait pas un problème au niveau des types des colonnes ?  [:cupra]  
 

Code :
  1. -- Table Appartient
  2. CREATE TABLE Appartient (
  3. Titre  INT,
  4. INDEX     (Titre) ,
  5. CONSTRAINT fk_titre
  6. FOREIGN KEY (Titre) REFERENCES Titre(IdTitre),
  7. Commande  INT NOT NULL,
  8. INDEX       (Commande) ,
  9. CONSTRAINT fk_commande
  10. FOREIGN KEY (Commande) REFERENCES Commande(IdCommande),
  11. CONSTRAINT pk_titre_comm
  12. ) ENGINE=INNODB;


 
 :jap:


---------------
And in the end, the love you take is equal to the love you make
n°2049452
ichigo56
Posté le 16-01-2011 à 13:54:45  profilanswer
 

Oh merci , je me sens honteux de pas avoir vu ça ^^
 
Je vais retest ça et je vous tiens au courant  
encore merci


---------------
«C'est ainsi, que périra le monde : dans la joie générale des gens spirituels qui croiront à une farce.»

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [mySql] Probleme cle etrangere sur deux primary key

 

Sujets relatifs
[XML] Problème de dimension d'images[PHP/MySQL] Recherches bénévoles
Probleme jeu schemeProblème avec do while
Problème array en php[Python] Problème position bouton
Petit problème d'affichage sous Firefox[PHP - MySQL] : Access denied for user 'user00329'@'%' to database 'db
optimisation de connexion php mysqlproblème signaux en shell
Plus de sujets relatifs à : [mySql] Probleme cle etrangere sur deux primary key


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR