#1005 - Can't create table

Rifia -  
 Rifia -
Bonjour,

j'aimerai creer une base de données composée de tables liées entre elles par des clés etrangères.
C'est la première foi que je fais ca et le problème est le suivant :

je veux creer une table 'composer' qui est une association porteuse transformée en table et qui contient les 3 champ suivant : quantité, i_id, r_id.

Dans MySql j'écris ca comme ca :
CREATE TABLE 'composer' (
'i_id' INT( 4 ) AUTO_INCREMENT ,
'r_id' VARCHAR( 4 ) NOT NULL ,
'quantité' VARCHAR( 10 ) NOT NULL ,
CONSTRAINT pk_composer PRIMARY KEY(i_id),
CONSTRAINT fk_compose_recettes FOREIGN KEY (r_id) REFERENCES recettes(r_id),
CONSTRAINT fk_compose_ingredients FOREIGN KEY (i_id) REFERENCES ingredients(i_id)
) TYPE = InnoDB

et j'ai l'erreur suivante : #1005 - Can't create table 'recettes.composer' (errno: 150) (<a href="server_engines.php?engine=InnoDB&page=Status&token=34874afcea2b6ad6b1438431c5a01ad2">Détails...</a>)

Quelqu'un pourrait m'aider à resoudre mon erreur ?

Merci bien
Rifia


A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Ta clé i_id est à la fois une clé étrangère et une clé primaire en Auto_increment : cela pose problème !
Il te faudrait une clé primaire c_id en auto_increment plutôt.
Ou alors, tu enlèves toute clé en auto_increment, et ta clé primaire serait plutôt une clé double, (i_id, r_id)

Xavier
1
Rifia
 
Merci merciii :)

Rifia
0