问题一:
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。
解决方案 »
- 【征询意见】两条SQL语句查询效率比较,那条更优
- How to replicate a table on the master server?
- 只有MYSQL的ibdata1文件,如何恢复MYSQL数据?
- Changed limits: max_open_files: 2048 max_connections: 2038 table_cache: 64什么原因
- mysql中自动增长是哪个数据类型?
- 求助 pro*c 方面的问题!
- 我这个模型能不能承受大量访问?
- GOT error 127 from table handler 是怎么回事???
- 多表链接如果如果添加索引好呢?
- 服务器数据同步问题
- 怎么把MYSQL卸载干净啊。。
- mysql 触发器 希望在A表insert之后,触发B表的insert操作
你需要先通过语句取到这个值。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