none
Erro ao tentar criar chave estrangeira RRS feed

  • Pergunta

  • Pessoal, bom dia.

    Tenho duas tabelas, e preciso adicionar uma chave estrangeira. Porém, depois que eu crio, ao tentar salvar, dá o seguinte erro:

    Tabela 'motivo' salva com êxito
    Tabela 'historico'
    - Não é possível criar a relação 'FK_historico_motivo'.  
    The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_historico_motivo". The conflict occurred in database "hesselbach18", table "dbo.motivo", column 'id_motivo'.

    O cenário é o seguinte: id_motivo é chave primária da tabela motivo, e criei uma coluna id_motivo na tabela historico para ser chave estrangeira.

    A tabela historico já tem dados, será que esse seria o motivo do erro?

    segunda-feira, 4 de fevereiro de 2013 12:46

Respostas

  • Leonardo,

    Se o campo id_motivo é PK na tabela motivo, o código abaixo deveria funcionar, caso já não exista a FK criada.

    ALTER TABLE [dbo].[Historico]  WITH NOCHECK ADD  CONSTRAINT [FK_Motivo] FOREIGN KEY([id_motivo])
    REFERENCES [dbo].[Motivo] ([id_motivo])
    GO


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 4 de fevereiro de 2013 16:17

Todas as Respostas

  • Bom dia Leonardo,

    Você esta tentando criar uma FK da tabela Historico (id_motivo), apontando para a tabela Motivo (PK Id_motivo) certo?

    Não entendi muito bem o que você quis dizer com "tabela motivo salva com êxito"..

    Você está tentando criar uma FK "Motivo-> Historico" e outra "Historico->Motivo"?


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 4 de fevereiro de 2013 13:43
  • Bom dia Mariana, a única coisa que preciso é que o id_motivo da tabela historico seja uma chave estrangeira para id_motivo da tabela motivo. É isso que não está dando certo.

    Muito obrigado pela ajuda.

    segunda-feira, 4 de fevereiro de 2013 15:35
  • Leonardo,

    Se o campo id_motivo é PK na tabela motivo, o código abaixo deveria funcionar, caso já não exista a FK criada.

    ALTER TABLE [dbo].[Historico]  WITH NOCHECK ADD  CONSTRAINT [FK_Motivo] FOREIGN KEY([id_motivo])
    REFERENCES [dbo].[Motivo] ([id_motivo])
    GO


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */

    segunda-feira, 4 de fevereiro de 2013 16:17
  • Perfeito Mariana, muitíssimo obrigado pela sua atenção.


    segunda-feira, 4 de fevereiro de 2013 16:35