我有一个如下所示的MySQL表:
create table login_schedule(name varchar(20),emp_id varchar(5),login_time datetime,logout_time datetime);
数据插入如下所示:
insert into login_schedule values('Ram','01',now(),now()+interval 30 minute);
因此,我只想在一条SELECT语句提供空集结果的情况下执行更新查询.
下面是我的SELECT语句:
select name,emp_id,logout_time,login_time from login_schedule where emp_id='01' and now()<date_format(logout_time,'%Y-%m-%d %H:%i:%s');
我的更新声明如下:
update login_schedule set logout_time=(select date_format(now() + interval 30 minute,'%Y-%m-%d %H:%i:%s') from dual) where emp_id='01';
那么,有没有什么办法请你帮忙.我主要要实现的是,如果员工在分配的注销时间(即登录时间后30分钟)之前执行任何操作,则他的注销时间将增加到另一个30分钟.如果用户保持空闲30分钟,则他不能执行任何操作,他必须重新登录才能再获得30分钟.
因此,要实现这一点,第一个SELECT查询必须返回空集,然后只执行UPDATE查询,否则如果SELECT查询给出任何输出,则UPDATE查询将不会执行.
请帮帮忙.