Ir para conteúdo

Arquivado

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

Bruno Depieri Barduchi

1 Update 2 campos

Recommended Posts

Fala galera beleza?

seguinte:

preciso fazer um update na minha tabela noticia onde vou atualizar dois campos, exemplo

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00', 
hora_expira_noticia = '2010-03-30 14:45:00' 
WHERE 
id_noticia = '1'
AND
id_noticia = '2'
não acusa erro no sql mas não atualiza tb, alguém poderia me ajudar

vlw e t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não se coloca o nome do banco aí no UPDATE.

 

Você faz a conexão com o servidor e com o banco separadamente:

mysql_connect("SERVIDOR","USER","PASS");
mysql_select_db("BANCO");

 

Sacou? :D

AH... tem que salvar esse UPDATE numa query, viu? Não pode ser assim no breu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não se coloca o nome do banco aí no UPDATE.

 

Você faz a conexão com o servidor e com o banco separadamente:

mysql_connect("SERVIDOR","USER","PASS");
mysql_select_db("BANCO");

 

Sacou? :D

AH... tem que salvar esse UPDATE numa query, viu? Não pode ser assim no breu...

 

ok

msd msm assim não funcionou o update.

eu monto o mysql_query e beleza, mas não funciona

olha o resultado do phpmyadmin

 

Registro(s) afetado(s): 0 (Consulta levou 0.0004 segundos)

consulta SQL:

UPDATE tb_noticia SET hora_expira_noticia = '2010-10-20 20-10-20',

hora_expira_noticia = '2001-02-10 10-20-10' WHERE id_noticia = '1' AND id_noticia = '2'

vlw msm assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é melhor você criar dois UPDATERS?

 

SET hora_expira_noticia = '2010-03-30 14:45:00' WHERE id_noticia = '1';
SET hora_expira_noticia = '2010-03-30 14:45:00' WHERE id_noticia = '2';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é melhor você criar dois SELECTS?

 

SET hora_expira_noticia = '2010-03-30 14:45:00' WHERE id_noticia = '1';
SET hora_expira_noticia = '2010-03-30 14:45:00' WHERE id_noticia = '2';

UPDATE, no caso eu vou pracisar fazer aproximadamente 12, por isso queria saber se da pra fazer 2 updates na mesma query, se funcionar com 2 funciona com 12 entendeu

vlw msm assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$codigo = "12"; //numeros de registros.......

for($i=1; $i< sizeof($codigo); $i++)

{

 

 

$sql1="UPDATE SET hora_expira_noticia = '2010-03-30 14:45:00' WHERE id_noticia = '$i'" ;

$result1=mysql_query($sql1) OR DIE (mysql_error());

echo mysql_error();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera beleza?

seguinte:

preciso fazer um update na minha tabela noticia onde vou atualizar dois campos, exemplo

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00', 
hora_expira_noticia = '2010-03-30 14:45:00' 
WHERE 
id_noticia = '1'
AND
id_noticia = '2'
não acusa erro no sql mas não atualiza tb, alguém poderia me ajudar

vlw e t+

 

cara nao vai acusar nada mesmo, a query esta correta, o que esta errado é sua logica, como pode uma mesma coluna de um registro ter 2 valores?

para isso existe a condição OR ou IN

tenta assim:

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00', 
hora_expira_noticia = '2010-03-30 14:45:00'
WHERE 
id_noticia = '1'
OR
id_noticia = '2'

ou

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00', 
hora_expira_noticia = '2010-03-30 14:45:00'
WHERE 
id_noticia IN(1,2)

espero que ajude abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vamos por parte... primeiro, sua lógica está toda torta... primeiro que no seu where a condição que usa nunca vai ser real, pois você nunca vai ter um mesmo registro com id = 1 e id= 2 ao mesmo tempo (principalmente se ele for campo base).

 

Segundo, seu update está setando o mesmo valor duas vezes para o mesmo campo... não dá erro mas também não fará o que quer (que pelo que entendi é atualizar os registros com id 1 e 2 com a mesma data/hora certo?)

 

Considerando que o que quer fazer é atualizar um intervalo de registros com a mesma data, o certo seria você montar seu update desta forma:

 

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00' 
WHERE 
id_noticia = '1'
OR
id_noticia = '2'
OR
id_noticia = '3'
A forma acima poderia ser escrita desta forma (considerando que o id_noticia seja um campo string).

 

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00' 
WHERE 
id_noticia in ('1','2','3')

Ou desta forma se for um campo integer.

 

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00' 
WHERE 
id_noticia between 1 and 3

Sugiro que estude mais sobre a lógica dos comandos SQL amigo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw galera, Chrnos vlw pela dica, estou estudando bastante ainda mais aqui onde posso postar dúvidas, por isso que venho a este fórum, consegui pelo código do romerito, vlw e t+

 

UPDATE 
db.tb_noticia 
SET 
hora_expira_noticia = '2010-03-30 14:45:00', 
hora_expira_noticia = '2010-03-30 14:45:00'
WHERE 
id_noticia IN(1,2)

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.