[Mysql] Probleme sur une requete simple

Résolu
Bonjour,
J'ai un problème sous mysql je n'arrive pas crée une de mes table, pourtant la requête me semble correcte je ne comprend pas.

voici la requête:

CREATE TABLE `Encaissement` (
`Encaiss_Num` VARCHAR( 2 ) NOT NULL ,
`Encaiss_NumCheque` VARCHAR( 25 ) NULL ,
`Encaiss_Montant` VARCHAR( 6 ) NOT NULL ,
`Encaiss_NomPayeur` VARCHAR( 25 ) NOT NULL ,
`Encaiss_DateEncaiss` DATETIME NOT NULL ,
`Fact_Num` INT( 4 ) NOT NULL ,
`Fact_Date` DATETIME NOT NULL ,
FOREIGN KEY ( `Fact_Num` ) references facture( `Fact_Num` ),
FOREIGN KEY ( `Fact_Date` ) references facture( `Fact_Date` ),
PRIMARY KEY ( `Encaiss_Num` , `Fact_Num` , `Fact_Date` )
) ENGINE = innodb

C'est une requete de création de table, avec 2 clef étrangère faisant partie de la clef primaire.
MySql m'afiche une erreure : #1005 - Ne peut créer la table '.\formasco\encaissement.frm' (Errcode: 150) ...
Je comprend toujours pas :s
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. Retire tes clefs étrangères, tu les placeras dans "where" de tes requètes. Je pense que sa vient de la
    1. Dans le "where" de mes requete ? select from "where" ?
      Car la le but est de crée ma table et je ne vois pas ou utiliser un where dans un Create table() ?
  2. Je me demande si c'est possible d'avoir une table ENCAISSEMENT avec 3 cle primaire dont 2 etranger mais qui appartienne a la même table.
    C'est a dire:

    Encaissement (Encaiss_Num , Fact_Num# , Fact_Date#, Encaisse_NumCheque etc...)
    Facture(Fact_Num, Fact_Date, Fact_montant etc...)

    Car c'est ça que j'essaye de modéliser dans la table Encaissement, et si cela est possible je ne comprend pas pourquoi mon create table échou :(
    1. J'ai résolu le problème je ne sais pas d'où venait l'erreur mais j'ai crée la table avec les 2 clé puis je l'ai aient déclarés en FOREIGN KEY puis ensuite en PRIMARY, bref 3 étapes au lieu d'une mais ça marche :)