Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Modificar registro de chave estrangeira e de chave primári


PhoenixWings

Pergunta

Boa tarde pessoal. Eu criei uma tabela cep que contém um campo cep com valores 1, 2, 3 ... e este campo está vinculado a uma chave estrangeira de mesmo nome (cep) numa outra tabela denominada contatos. Percebi que esses valores numéricos estão errados e estou querendo mudá-los para ceps fictícios como, por exemplo, 23819000 só que não estou conseguindo fazer isso! a constraint foreign key me impede de efetuar esta operação.

mysql> UPDATE cep  
     -> SET cep = 23816000  
     -> WHERE cidade = 'Algum lugar';  
  ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`esquema_contatos`.`  
 contatos`, CONSTRAINT `contatos_ibfk_2` FOREIGN KEY (`cep`) REFERENCES `cep` (`cep`))  
   
 mysql> UPDATE contatos  
     -> SET cep = 23816000  
     -> WHERE primeiro_nome = 'Fulana';  
 ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`esquema_contatos`.`cont  
 atos`, CONSTRAINT `contatos_ibfk_2` FOREIGN KEY (`cep`) REFERENCES `cep` (`cep`))

como poso fazer para modificar os campos cep da tabela cep e contatos sem precisar apagar as tabelas? Obs.: eu não adicionei nenhuma CONSTRAINT explícita da forma CONSTRAINT contatos_fk. Obrigado pela ajuda!

Existe alguma forma de atualizar simultaneamente uma chave estrangeira e uma primária com um novo registro ?

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'PhoenixWings'

Use

SET SET FOREIGN_KEY_CHECKS=0
antes de proceder o update. Este comando parará a checagem de constraint e permitirá que você ajuste seu banco. Ao final do serviço você deve voltar o comando ao seu estado normal com
SET FOREIGN_KEY_CHECKS=1

Preste muita atenção em suas modificações enquanto o banco estiver com a checagem desligada ou ele não vai conseguir voltar por falha na integridade referencial.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...