问题一:
DELIMITER //
CREATE EVENT e_hourly
ON SCHEDULE
EVERY 1 SECOND
DO
BEGIN
if(tab1.num>1) then
update tab1 set num=num-1 WHERE tab1_id='1';
end if;
END;
这里好像有问题。if(tab1.num>1)。字段num是整型int(11) 值是68>1。照道理说,if(tab1.num>1) <==> if(true)
事实,是行不通。我换成if(true)来执行。就是执行到更新语句。
不知道这是为什么?
问题二:
tab1表有很多数据,那么我怎么根据tabl1.NO,来插入相应数据到tab2表。
怎么一个遍历tab1。
DELIMITER //
CREATE EVENT e_hourly
ON SCHEDULE
EVERY 1 SECOND
DO
BEGIN
if(tab1.num>1) then
update tab1 set num=num-1 WHERE tab1_id='1';
end if;
END;
这里好像有问题。if(tab1.num>1)。字段num是整型int(11) 值是68>1。照道理说,if(tab1.num>1) <==> if(true)
事实,是行不通。我换成if(true)来执行。就是执行到更新语句。
不知道这是为什么?
问题二:
tab1表有很多数据,那么我怎么根据tabl1.NO,来插入相应数据到tab2表。
怎么一个遍历tab1。
你需要先通过语句取到这个值。DELIMITER //
CREATE EVENT e_hourly
ON SCHEDULE
EVERY 1 SECOND
DO
BEGIN
declare kk int;
select num into kk from tab1 limit 1;
if(kk>1) then
update tab1 set num=num-1 WHERE tab1_id='1';
end if;
END;
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html