Luizjr Postado Junho 9, 2011 Denunciar Share Postado Junho 9, 2011 Boa noite pessoal, tenho um trabalho de faculdade para ser entregue mais ele estar dando erro,eu criei duas tabelas e depois quero criar uma foreign key de uma pra outra create table professor(mat_professor int not null,nom_professor varchar(50) not null,rg int null,cpf int not null,classificacao varchar(12) null,rua varchar(50) null,num_rua int null,cep int null,complemento varchar(50) null,cidade varchar(50) null,estado char(2) null,cod_departamento int not null,constraint pk_professor01 primary key (mat_professor, cpf))create table departamento(cod_departamento int not null,nom_departamento varchar(50) not null,bloco varchar(10) not null,ramal varchar(10) not null,mat_professor int not null,constraint pk_departamento primary key (cod_departamento, nom_departamento),)essas são as duas tabelas, dai eu vou dar um alter table alter table professor add constraint fk_professor_departamento foreign key (cod_departamento) references departamento(cod_departamento)mais da o seguinte erroMsg 1776, Level 16, State 0, Line 1There are no primary or candidate keys in the referenced table 'departamento' that match the referencing column list in the foreign key 'fk_professor_departamento'.Msg 1750, Level 16, State 0, Line 1Could not create constraint. See previous errors.como eu faço para consegue compilar ?já tentem de praticamente tudo e não da certo!grato desde já! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson Litri Postado Junho 11, 2011 Denunciar Share Postado Junho 11, 2011 Boa tarde,Sua chave primária é composta, para resolver este problema na tabela departamento criar a primary key simples:constraint pk_departamento primary key (cod_departamento) =Só com o campo cod_departamento. ai você conseguirá criar a foreign key:CREATE table departamento(cod_departamento int not null,nom_departamento varchar(50) not null,bloco varchar(10) not null,ramal varchar(10) not null,mat_professor int not null,constraint pk_departamento primary key (cod_departamento))alter table professoradd constraint fk_professor_departamento foreign key (cod_departamento)references departamento(cod_departamento) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luizjr
Boa noite pessoal, tenho um trabalho de faculdade para ser entregue mais ele estar dando erro,
eu criei duas tabelas e depois quero criar uma foreign key de uma pra outra
create table professor(
mat_professor int not null,
nom_professor varchar(50) not null,
rg int null,
cpf int not null,
classificacao varchar(12) null,
rua varchar(50) null,
num_rua int null,
cep int null,
complemento varchar(50) null,
cidade varchar(50) null,
estado char(2) null,
cod_departamento int not null,
constraint pk_professor01 primary key (mat_professor, cpf)
)
create table departamento(
cod_departamento int not null,
nom_departamento varchar(50) not null,
bloco varchar(10) not null,
ramal varchar(10) not null,
mat_professor int not null,
constraint pk_departamento primary key (cod_departamento, nom_departamento),
)
essas são as duas tabelas, dai eu vou dar um alter table
alter table professor
add constraint fk_professor_departamento foreign key (cod_departamento)
references departamento(cod_departamento)
mais da o seguinte erro
Msg 1776, Level 16, State 0, Line 1
There are no primary or candidate keys in the referenced table 'departamento' that match the referencing column list in the foreign key 'fk_professor_departamento'.
Msg 1750, Level 16, State 0, Line 1
Could not create constraint. See previous errors.
como eu faço para consegue compilar ?
já tentem de praticamente tudo e não da certo!
grato desde já!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.