添加 执行SQL 语句后在来个 查询 影响行数
添加语句
$num = mysql_num_rows($result);
然后判断如果影响行数不等于0就执行删除
if($num!=0){
删除语句
}
mysql要实现定时执行sql语句就要用到Event
具体操作如下:
先看看看event 事件是否开启
show variables like '%sche%';
如没开启,则开启.需要数据库超级权限
set global event_scheduler =1;
创建存储过程 update_a (注:就是你要执行的sql语句)
mysql create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id);
创建一个定时任务:event e_updateA
mysql create event if not exists e_updateA
- on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行
- on completion preserve
- do call update_a(); ---执行update_a()存储过程
创建Event之后,sql语句就定时执行一次.
关闭事件任务
首先在sql中查询计划事件的状态:SHOW
VARIABLES
LIKE
'event_scheduler'
如果返回的是off表示当前是关闭状态,如果是on当前已经开启了计划任务.
在mysql程序的目录下找到my.ini文件,添加一个项:event_scheduler
=
保存后重启mysql服务即可,重启服务可以在服务管理里面找到
也可以用脚本来实现:
mysql
event_scheduler
开启event_scheduler
sql指令:
SET
GLOBAL
ON;
@@global.event_scheduler
相反,关闭event_scheduler指令:
OFF;
0;
而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式.
而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了.
CREATE EVENT [事件名]
ON COMPLETION PRESERVE
ENABLE
DO
[要执行的sql语句]
事件针对的是整个数据库,而不是针对某个Session.所以呢事件一旦创建,所有的Session都有效.
以上就是土嘎嘎小编为大家整理的mysql怎么添加事件相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!