2017-02-19 4 views
0

Ich habe drei Tabellen: Advocate, Client und Event. In der Ereignistabelle habe ich zwei Felder, die auf zwei Felder von Advocate-Tabelle und einem Feld referenzierenden Client verweisen, und wenn ich versuche, einen Fremdschlüssel hinzuzufügen, bekomme ich das kann keine Fremdschlüsseleinschränkungsfehler hinzufügen.Kann keine Fremdschlüsseleinschränkung hinzufügen, mysql

create table advocate(

ida int(11) not null, 
idk int(11) not null, 

#... 

primary key(ida, idk) 

)engine = InnoDB default charset=utf8; 



create table client(

jmb varchar(13) not null primary key 

#... 

)engine=InnoDB default charset=utf8; 



create table event(

ida int(11) not null, 
idk int(11) not null, 
jmb varchar(13) not null, 

#... 

primary key(ida,idk,jmb), 

foreign key(ida, idk) 
references advocate(ida, idk) 
on update cascade 
on delete restrict, 

foreign key(jmb) 
references client.jmb 
on update cascade 
on delete restrict 


)engine=InnoDB default charset=utf8; 
+0

whhat ist der Fehler? – ultrajohn

+0

Konnte keine Fremdschlüsseleinschränkung hinzufügen – bliny

+0

Wenn wir Ihnen helfen sollen, ist es wichtig, den genauen Text des fehlgeschlagenen Befehls und den genauen Text der resultierenden Fehlermeldung anzuzeigen. Bitte [bearbeiten] Sie Ihre Frage, um diese Dinge zu liefern. –

Antwort

1

können Sie versuchen, zu ändern:

foreign key(jmb) 
references client.jmb 
on update cascade 
on delete restrict 

zu

foreign key(jmb) 
references client (jmb) 
on update cascade 
on delete restrict 
+0

Das war es. Vielen Dank – bliny

Verwandte Themen