Bien le bonjour, je poste car de toutes les explications trouvé, je n'ai trouvé que des exemple "mono" clef étrangère.
Mon p'tit problème réside dans le fait que je dois transformer ma base, et la principal modification est que je dois rajouter une clef étrangère à une table en possédant déjà une.
et la table qui me pose problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE Mr_tcu ( pk_url Varchar(255) not null, type Varchar(255) not null, title Varchar(255) not null, content Text, rank Smallint(5) Unsigned not null, Primary Key (pk_url, type) ) TYPE=INNODB DEFAULT CHARSET=utf8;
La première table passe à la compil, mais pour la deuxième j'ai la fameuse erreur 150. Le truc, c'est que je ne vois pas comment faire pour rajouter la deuxième clef étrangère. En noir le code au départ, en rouge le code que j'ai rajouté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE TABLE Mr_occurrence ( url Varchar(255) not null, mr Varchar(30) not null, type Varchar(255) not null, occurrence Smallint(3) Unsigned not null default 0, Primary key (mr, url, type), Index ( url), Foreign Key (url) References Mr_tcu (pk_url) On Delete Cascade On Update Cascade , Foreign Key (type) References Mr_tcu (type) On Delete Cascade On Update Cascade ) TYPE=INNODB DEFAULT CHARSET=utf8;
Je cherche donc à introduire une clef étrangère type dans Mr_occurrence referencant la clef primaire type dans Mr_tcu
Si quelqu'un pouvais me dire ce qu'il boulette, merci ! =)
Partager