Bonsoir,

Voila, j'ai un tout piti problème en ce qui concerne la création d'une table de type InnoDB avec des clés étrangères.

La table est en fait une association porteuse de données entre les deux tables que voici :

permissions(id_permissions, lib_permissions)
forum_user(userid, username ...)

Le Schéma relationnel de l'association en question est tout bêtement :

affecter(#id_user, #id_permissions)

Les deux tables sont belles et bien créées, mais quand j'essaie de créer l'association, j'ai une belle erreur 150 ("#1005 - Can't create table './db0364201/affecter.frm' (errno: 150) "). Voici la requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE TABLE affecter(
id_user int( 10 ) unsigned NOT NULL ,
id_permissions int( 6 ) NOT NULL ,
PRIMARY KEY ( id_user, id_permissions ) ,
FOREIGN KEY ( id_user ) REFERENCES forum_user( userid ) ON DELETE CASCADE ,
FOREIGN KEY ( id_permissions ) REFERENCES permissions( id_permissions ) ON DELETE CASCADE
) ENGINE = InnoDB;
Les propriétés des champs entre l'association sont bien respectées, donc ce n'est pas à ce niveau là.

Quelqu'un peut-il m'éclairer un peu?

Merci,
Bensor.

EDIT : les deux clés primaires référencées sont auto-incrémentées.