Usuário com melhor resposta
Erro ao Definir Nulo ao Excluir Eegistro - Sql Server

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
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
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.
-
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
-
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 Nulopra 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.
-
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