Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Eu gostaria de saber como eu consigo fazer um update sem alterar um determinado dado que não foi setado, ao invés de ficar em branco, eu gostaria de manter o dado e alterar somente as colunas que foram setadas.
Desde já agradeço a força.
O meu problema é que na minha instrução sql eu coloco todas as colunas, com intenção de deixar alterável todos os campos, mas o que eu quero é: quando houver uma situação em que não precisar alterar determinado campo, não modificar o dado deste campo.
Por exemplo:
$this->senha = null
$sql = "UPDATE tabela SET campos e values WHERE id = :id";
Quando eu coloco null para como acima o mysql apaga o dado atual e deixa nada, eu pensei que colocando null ele não alteraria nada, mas não foi o que aconteceu.
Teoricamente você mandou apagar o valor, torná-lo nulo.
A solução é fazer o campo receber o valor já existente, ou melhor, faz um UPDATE tabela SET campo = campo, reutilizando o mesmo exemplo que eu havia usado, ficaria desta forma:
UPDATE alfabeto SET id = id, letra = 'c' WHERE id = 3;na realidade, uma instrução update só altera as colunas explicitamente declaradas;
verificar em:
http://www.w3schools.com/sql/sql_update.asp
http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
poderia me ajudar com isso ae.. preciso saber como vou atualizar esse campo quando a pessoa sair do estabelecimento, pois quando ela entrar novamente vai criar outra linha com nova entrada esperando a saida.
e sistema de entrada e saida..

Exemplo:
Veja que existem dois campos na tabela, mas eu só alterei o valor do campoletra.