传入一个值
如果本来的参加人数总和+传入的值
select sum(usernum)from orderac where actid=1 +传入的值
大于总人数的限制
select usersnum from activity where actid=1
就不能insert into 否则能
insert into orderac(username,actid,typeid,bmtime,usernum)
传入一个值
如果本来的参加人数总和+传入的值
select sum(usernum)from orderac where actid=1 +传入的值
大于总人数的限制
select usersnum from activity where actid=1
就不能insert into 否则能
insert into orderac(username,actid,typeid,bmtime,usernum)
create procedure proc(in input int)
begin
declare sum int;
declare usernum int;
select sum(usernum) into sum from orderac where actid=1;
select usersnum into usernum from activity where actid=1;
set sum = sum + 1;
if sum <= usernum then
insert into orderac(username,actid,typeid,bmtime,usernum)
end if;
end;
大概是这样吧