Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

merlinus

Modificar dados da tabela

Recommended Posts

Saudações, tenho uma tabela que tem entre outros os seguintes campos:

 

ID CODIGO

 

 

O campo ID é unico, mas o codigo que deveria ser unico, não é. estava corrindo-os quando achei que tenho mais de 500 com o valor zero, provalvelmente vindos de uma antiga importação quando o sistema foi criado.

 

Para corrigir esse problema sem apagalos, quero colocar em cada campo aonde conste o CODIGO=0 o valor negativo do ID.

 

Estava pensando em desenvolver um codigo php para fazer isso, mas tem como fazer direto com instrução Mysql?

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

update tabela
set id = (id * -1)
where codigo = 0

 

Mas cuidados com este tipo de operação, faça um backup antes.

 

Após corrigir o problema crie uma constrainst de UNIQUE para este campo, vai impedir novos casos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tão simples assim??? pensei que teria que usar inner join...

 

Deu certo com uma pequena alteração, o que eu queria era alteral o valor do codigo, então deixei assim:

 

update tabela
set codigo = (id * -1)
where codigo = 0

 

 

Mas funcionou perfeitamente, estou testando no ambiente de testes e depois faço no de produção.

 

VLW

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas não esqueça de criar o índice único para evitar probelmas futuros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.