Ir para conteúdo

Arquivado

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

André Severino

[Resolvido] Atualizar valor do campo (data e hora) automaticament

Recommended Posts

Boa tarde pessoal, tem em uma tabela o seguinte campo:

 

data_modificacao DATETIME

 

Tem como no momento que o usuário loga, ele mudar esse valor automaticamente? Uma vez eu vim em algum banco que fazia isso, mas não vi ao certo o comando que ele utilizava, era algo do tipo ON UPDATE... Alguém pode me ajudar? Sou meio leigo nesses assuntos :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem oque você quer fazer não amigo.

ON UPDATE é pra quando você executa uma query de update na tabela

e apartir dai será tomado uma dada ação.

 

Mas se você já está fazendo o update na tabela, porque não atualiza o

campo datetime junto?? :huh:

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae Periscuelo, na verdade eu queria tipo fazer o update de outra tabela, exemplo:

 

login

ultimoLogin

 

Qnd eu faço o login, queria que ele atualizasse o ultimo login sozinho, não sei se tem como com aquele on_update

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo login está em uma tabela e o campo ultimo login esta em outra? :huh:

Não faz sentido pra mim. Mas em todo caso, se houver foreingkey entre as tabelas

é possível fazer um update com join:

 

UPDATE tabela1 INNER JOIN tabela2 ON(tabela1.id=tabela2.fk) 
SET tabela1.login = 'string', tabela2.ultimoLogin=NOW()
WHERE tabela1.id=1

Não sei se isso te ajuda, poste a estrutura das tabelas e explique melhor oque quer fazer.

Mostre a query que já faz quando loga para sabermos o momento em que deseja atualizar.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu códido deve ter um IF pra testar o login, então é só você executar o update dentro do IF caso o login tenha sucesso

 

"UPDATE tabela SET data_modificacao = now() WHERE codUsuario = $codUsuario'

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa esse post do dia 09-06 eu tava meio chapado :(

 

Então é assim eu tenho uma tabela:

 

id_login

login_login

senha_login

cadastro_login

ultimoacesso_login

 

Quando o usuário faz o seu login, eu gostaria de saber se tem como pelo próprio MySQL alterar o campo ultimoacesso_login para o horario de acesso, entendeu ?

 

Sem usar dar um update pela aplicação, direto pelo mysql existe isso? Pois eu sempre faço da forma tradicional

 

Verifico se o campo login e senha sao verdadeiros e embaixo faço a verificação / atualização
if(verdadeiro) { 
  faço o update e 
   redireciono para o sistema; 
} else { 
  informo a mensagem de erro; 
}

 

Tem como fazer esse processo de update direto pelo banco ? :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se houver a possibilidade de fazer oque você quer, deve dar muito mais trabalho e utilizar muito mais a performance do banco de dados

doque um simples IF na aplicação. Logo não tem o menor sentido fazer isto na base de dados.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum entendi Periscuelo, achei que era + simples fazer direto no banco de dados(caso existisse), mas obrigado pela ajuda!!! :thumbsup:

 

pode marcar como resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que estou desenterrando o tópico mas como não tinha o método de fazer aqui vai...

CREATE TABLE v (
    a INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    b INT,
    created DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
);

INSERT INTO v (a, b) VALUES (NULL, 1);

Assim o campo created conterá o timestamp atual "Y-m-d H:i:s" e o updated será NULL só tendo valor como "Y-m-d H:i:s" após algum update...

espero ter ajudado!

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.