|
|
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.
|