locked
Erro ao fazer o UPDATE e o INSERT RRS feed

  • Pergunta

  • Bom dia!
    estou tendo erros ao fazer o update e o insert numa tabela.
    meu banco está assim: tenho a tabela 'geral' que recebe códigos de várias outras tabelas, essas outras tabelas estão ligando com a tabela 'geral'

    os erros são os seguintes:
    no update:
    [Microsoft][ODBC SQL Server Driver][SQL Server]UPDATE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_eng_ocorr_geral_eng_ocorr_tipo_ocorr'. The conflict occurred in database 'webtem', table 'eng_ocorr_tipo_ocorr', column 'tipo_id'.

    no insert:
    [Microsoft][ODBC SQL Server Driver][SQL Server]INSERT statement conflicted with COLUMN FOREIGN KEY constraint 'FK_eng_ocorr_geral_eng_ocorr_tipo_ocorr'. The conflict occurred in database 'webtem', table 'eng_ocorr_tipo_ocorr', column 'tipo_id'.

    Já no DELETE ele funciona normalmente


    Desde já agradeço

    Gubergamo
    sexta-feira, 6 de março de 2009 13:55

Todas as Respostas

  • Gustavo,

    Você esta tentando fazer o Update e o Insert em uma table que possui foreign key, o SQL Server esta informando que existe um conflito em relação a foreign key, recomendo você verificar o dados que estão sendo atualizados e inseridos, por acaso você não esta tentando inserir um dado que já se encontra cadastrado.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sábado, 7 de março de 2009 22:12
    Moderador
  • Completando a resposta do Junior Galvão, na verdade, seria um dados que não existe na tabela pai. Você está tentando inserir um valor de um campo chave-estrangeira que não existe na tabela pai deste relacionamento. Exemplo:

    Eu tenho uma tabela produto com (codigo_produto, nome_produto, quant_produto) com um registro:

    codigo produto = 8
    nome_produto = martelo de cabo curto
    quant_produto = 50

    Tenho uma outra tabela de venda_produto (codigo_produto, data_venda, quant_vendida)

    ATENÇÃO!! Não posso vender um produto com codigo_produto = 10 porque este produto não existe na tabela pai produto. Daria erro de chave-estrangeira. Acho que é isso que está acontecendo com você.

    Observe os dados que você está inserindo ou atualizando.
    Um abraço.


    terça-feira, 24 de março de 2009 18:36