여기 ADMIN TABLE이 있습니다 구조는 아래와 같습니다.
ADMIN TABLE |
|
id |
|
passwd |
|
last_login |
로그인 시에 로그인 시간 업데이트를 할 때 일반적으로
로그인을 해서 아이디 비밀번호가 일치하는 데이터가 존재한다면 1을 리턴 할 것이고 없으면 0을 리턴 할 것입니다.
그래서 1을 리턴 했을 경우에 로그인 시간을 업데이트 해주는데요 다음과 같습니다.
로그인
SELECT count(*) FROM admin WHERE id='id' AND passwd='passwd';
로그인 시간 업데이트
UPDATE admin SET last_login=now();
이 두 개의 쿼리를 서브 쿼리를 이용하여 한번의 실행으로 처리하면 다음과 같습니다.
UPDATE admin SET last_login=now()
WHERE (
SELECT * FROM (
SELECT count(*) FROM admin where id='111' AND passwd='121'
) AS A
)=1
update 쿼리는 처리가 되었을 경우 1을 리턴 아무 일도 일어나지 않았을 경우에는 0을 리턴함 으로
로그인이 되었는지 안되었는지 여부도 확인 및 처리가 가능합니다.