none
Erro ao Definir Nulo ao Excluir Eegistro - Sql Server RRS feed

  • Pergunta

  • Boa Tarde

    estou com um problema onde

    tenho 2 tabelas teste1 e teste2

    conforme a imagem abaixo

    Porém quando eu fiz a ligação entre o campo cod_teste2 com o campo cod_lac e cod_bx, defini especificação Insert e Update, fui em Excluir Regar e defini como Nulo, apresentou este erro:

    Tabela 'teste2' salva com êxito
    Tabela 'teste1'
    - Não é possível criar a relação 'FK_teste1_teste21'.  
    A introdução da restrição FOREIGN KEY 'FK_teste1_teste21' na tabela 'teste1' pode causar ciclos ou vários caminhos em cascata. Especifique ON DELETE NO ACTION ou ON UPDATE NO ACTION, ou modifique outras restrições FOREIGN KEY.
    Não foi possível criar a restrição. Consulte os erros anteriores.

    Alguém sabe dizer por que isto está acontecendo?

    Desde já agradeço pela atenção de todos.


    • Editado Marcos SJ quinta-feira, 5 de maio de 2016 11:54 Edição
    quarta-feira, 4 de maio de 2016 19:44

Respostas


  • Olá Rhael , uma vez que você escreveu na seção anterior . A Você eu pode sugerir que a taxa zero condional vai melhorar em áreas que se relacionam com a foreign key por duas razões :

    1. Você tem mais segurança no manuseio de registros.
    2. Você não deve fazer validações antes da execução ou leituras de chave estrangeira

    Portanto editar os campos no seu sistema para ter um valor padrão e você não terá problemas na implementação e uma aplicação muito mais seguro.


    Por favor, realizar as seguintes tarefas
    - Editar o campo na tabela e remove o valor nulo.
    - Na tabela " test2 " cria o campo " cod_test1 " para que possa fazer um aspirador de chave estrangeira.
    Así liberas el campo "cod_test2" que debe ser un campo autoincrementar

    Um dia feliz para você.

    Jairo Garzón Forero - MSDN.COM/ES-CO

    • Marcado como Resposta Marcos SJ segunda-feira, 9 de maio de 2016 14:08
    sábado, 7 de maio de 2016 15:18

Todas as Respostas

  • Bom dia Rhael_Andrade,

    Tudo bem?

    Foi apresentado algum código de referência para este erro?

    Atenciosamente


    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 5 de maio de 2016 12:26
  • Bom dia , o erro surge porque você não pode fazer uma foreign key com dois tipos diferentes de campo .

    Incorreto: T1.micampo1 (INT 10) ----> T2.micampo2 (CHAR 4)

    Correto: T1.micampo1 (INT 10) ----> T2.micampo2

    Para maior segurança, tente colocar o campo cod_teste1 no número da tabela 2. Em seguida, execute a foreign key .

    Um dia feliz para você.

    • Editado Jairo Garzón quinta-feira, 5 de maio de 2016 12:43
    • Sugerido como Resposta Danilo Telles quinta-feira, 5 de maio de 2016 12:47
    quinta-feira, 5 de maio de 2016 12:40
  • mais ele não esta ligado com a coluna char4

    seria 

    tabela teste2 campo cod_teste2 ligada em cod_lac e cod_bx
    a ligação funciona normal agora quando marco como  defini como Nulo

    pra quando eu excluir um registro na tabela teste2 se estiver em uso na tabela teste1 da um update e definir como nulo na tabela teste1.

    ai quando vou salvar da o seguinte tela 

    Tabela 'teste2' salva com êxito
    Tabela 'teste1'
    - Não é possível criar a relação 'FK_teste1_teste21'.  
    A introdução da restrição FOREIGN KEY 'FK_teste1_teste21' na tabela 'teste1' pode causar ciclos ou vários caminhos em cascata. Especifique ON DELETE NO ACTION ou ON UPDATE NO ACTION, ou modifique outras restrições FOREIGN KEY.
    Não foi possível criar a restrição. Consulte os erros anteriores.

    quinta-feira, 5 de maio de 2016 13:05

  • Olá Rhael , uma vez que você escreveu na seção anterior . A Você eu pode sugerir que a taxa zero condional vai melhorar em áreas que se relacionam com a foreign key por duas razões :

    1. Você tem mais segurança no manuseio de registros.
    2. Você não deve fazer validações antes da execução ou leituras de chave estrangeira

    Portanto editar os campos no seu sistema para ter um valor padrão e você não terá problemas na implementação e uma aplicação muito mais seguro.


    Por favor, realizar as seguintes tarefas
    - Editar o campo na tabela e remove o valor nulo.
    - Na tabela " test2 " cria o campo " cod_test1 " para que possa fazer um aspirador de chave estrangeira.
    Así liberas el campo "cod_test2" que debe ser un campo autoincrementar

    Um dia feliz para você.

    Jairo Garzón Forero - MSDN.COM/ES-CO

    • Marcado como Resposta Marcos SJ segunda-feira, 9 de maio de 2016 14:08
    sábado, 7 de maio de 2016 15:18