2013-11-21 2 views
1

SQL 데이터베이스에 두 번의 히트를 사용하지 않고이를 수행 할 방법이 있는지 궁금합니다.mysql : 타임 스탬프가 10 시간 이상인 경우 타임 스탬프를 업데이트하십시오.

사람이 콘텐츠를 보는 경우 타임 스탬프가 기록됩니다.

사람이 2 시간 후에 동일한 콘텐츠를 다시 보는 경우 타임 스탬프가 업데이트되지 않습니다.

사람이 콘텐츠를 처음 본 후 10 시간 후에 동일한 콘텐츠를 보는 경우 타임 스탬프 db 테이블 필드를 업데이트하십시오.

SQL을 통해이 작업을 수행하고 "업데이트"보다 "선택"을 수행하지 않는 방법은 무엇입니까 ??

답변

4
update mytable 
    set lastvisited=now() 
where person='john' and lastvisited<(now()-interval 10 hour); 
+0

문제가 해결됩니다 시도 - 감사합니다! – Abela

1

UPDATE tabel_name SET column_name=NOW() WHERE TIMESTAMPDIFF(HOUR, NOW(), column_name) >= 10 
관련 문제