01net    Web


Actuellement en ligne : 818 Utilisateurs dont 33 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > Bases de données / SQL
> Problème MySQL Foreign Key
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
CeroGrimm
  
   
      ?   @     Posté le 05/05/2008 11:34:50  
Voter pour ce message
Bonjour,

je suis actuellement stagiaire et je dois réaliser une base de données pour un hôpital (avec une bonne fournée de formulaires ^^).

Afin de bien organiser ma base, j'ai décidé de créer une table qui rassemble les détails d'un patient (détails fournis lors de la saisie des formulaires).

Par exemple, on va d'abord saisir la civilité d'un patient puis ensuite ses antécédents médicaux. La table qui réunit toutes les infomations à propos d'un patient est la table 'détails_patient'. J'utilise des foreign key (car forcément la table détails_patient fait appel à la table patient pour récupérer le numéro du patient). Sauf que bon, rien à faire, PHPMyAdmin (je suis sur Wamp Server) me sort une erreur :

"1005 - Can't create table (errno : 150)"

J'ai cherché pas mal d'infos à ce sujet, mais je n'ai pas encore trouvé une réponse.

Voici les caractérisques de ma table 'details_patient':

CREATE TABLE details_patient(
PATIENT MEDIUMINT(9),
Complication SMALLINT(6),
Antecedent SMALLINT(6),
Traitement SMALLINT(6),
INDEX(PATIENT),
INDEX(Complication),
INDEX(Antecedent),
INDEX(Traitement),
PRIMARY KEY(PATIENT),
FOREIGN KEY(PATIENT) REFERENCES PATIENT(N°Patient),
FOREIGN KEY(Complication ) REFERENCES Complication (N°Complication),
FOREIGN KEY(Antecedent ) REFERENCES Antecedent (N°Antecedent),
FOREIGN KEY(Traitement ) REFERENCES Traitement (N°Traitement),
)
TYPE = InnoDB;

En fait, cette table va chercher toutes les informations propres à un patient. Par exemple, si on saisit un antécédent dans le formulaire (par son nom), la table 'details_patient' s'occupe d'aller chercher l'identifiant (un smallint) de l'antécédent en question et coincide l'enregristrement avec le patient concerné.

Donc je ne comprends pas cette erreur, j'ai vérifié les types, mes tables sont bien de type InnoDB...mouarf rien à faire, donc quelqu'un a t-il une idée à ce sujet ?

J'espère avoir été assez clair en tout cas. :D
<     1       >

01net > Forum de 01net > Programmation et développement > Bases de données / SQL
> Problème MySQL Foreign Key

Aller à :

Page générée en : 0.086s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Entretien du PC
Analyser la stabilité de votre PC puis retrouver un ordinateur sain, rapide et performant.
Téléchargement
Téléchargez le Service Pack 3 et découvrez le mode d'emploi de la dernière mise à jour de Windows XP