- 浏览: 7929634 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
mysql 中的event 在5.1及以上被支持,下面简单讲解下
1 启用
mysql> SET GLOBAL event_scheduler = ON;
关闭
SET GLOBAL event_scheduler = OFF;
2 注意的是event一旦创建后,则只有创建者对它有权限操作,而且5.1的event规定了
event的名称为64个字母大小写倒不敏感,event中不能再创建修改和删除其他event.
3 创建一个event
DELIMITER |
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
DELIMITER ;
这里注意用|来表示结束符号。这个事件是每隔1个小时更新数据表一次了
可以通过SHOW EVENTS\G 去看事件,如下
mysql> SHOW EVENTS\G
********************** 1. row **********************
Db: mysql
Name: myevent
Definer: dbuser@localhost
Time zone: SYSTEM
Type: ONE TIME
Execute At: 2011-10-26 20:24:19
Interval Value: NULL
Interval Field: NULL
Starts: NULL
Ends: NULL
Status: ENABLED
Originator: 0
character_set_client: utf8
collation_connection: utf8_general_ci
event在完成后会自动结束,除非显式地声明关闭,即
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
ON COMPLETION PRESERVE
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
使用on completion即可
event结束后,其实还留在数据库中,除非drop掉,即
DROP EVENT myevent;
如果要循环执行event,用every,即
CREATE EVENT myevent
ON SCHEDULE EVERY 1 HOUR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
也可以指定开始和结束时间
CREATE EVENT myevent
ON SCHEDULE EVERY 1 HOUR
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 YEAR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
当然,INTERVAL后可以跟day,year,month,hour,minutes,seconds等了
也可以更新event,比如
ALTER EVENT myevent
ON SCHEDULE EVERY 1 MONTH
STARTS '2011-12-01 01:00:00' |
更名:
ALTER EVENT myevent
RENAME TO yourevent;
在PHP代码中,也可以执行event,比如:
$query = "CREATE EVENT publish_:id
ON SCHEDULE AT FROM_UNIXTIME(:scheduleDate)
DO
BEGIN
UPDATE blog_posts SET status = 'published' WHERE id = :id;
END";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id, ":scheduleDate" => $scheduleDate));
1 启用
mysql> SET GLOBAL event_scheduler = ON;
关闭
SET GLOBAL event_scheduler = OFF;
2 注意的是event一旦创建后,则只有创建者对它有权限操作,而且5.1的event规定了
event的名称为64个字母大小写倒不敏感,event中不能再创建修改和删除其他event.
3 创建一个event
DELIMITER |
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
DELIMITER ;
这里注意用|来表示结束符号。这个事件是每隔1个小时更新数据表一次了
可以通过SHOW EVENTS\G 去看事件,如下
mysql> SHOW EVENTS\G
********************** 1. row **********************
Db: mysql
Name: myevent
Definer: dbuser@localhost
Time zone: SYSTEM
Type: ONE TIME
Execute At: 2011-10-26 20:24:19
Interval Value: NULL
Interval Field: NULL
Starts: NULL
Ends: NULL
Status: ENABLED
Originator: 0
character_set_client: utf8
collation_connection: utf8_general_ci
event在完成后会自动结束,除非显式地声明关闭,即
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
ON COMPLETION PRESERVE
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
使用on completion即可
event结束后,其实还留在数据库中,除非drop掉,即
DROP EVENT myevent;
如果要循环执行event,用every,即
CREATE EVENT myevent
ON SCHEDULE EVERY 1 HOUR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
也可以指定开始和结束时间
CREATE EVENT myevent
ON SCHEDULE EVERY 1 HOUR
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 YEAR
DO
BEGIN
UPDATE mytable SET mycol = mycol + 1;
END |
当然,INTERVAL后可以跟day,year,month,hour,minutes,seconds等了
也可以更新event,比如
ALTER EVENT myevent
ON SCHEDULE EVERY 1 MONTH
STARTS '2011-12-01 01:00:00' |
更名:
ALTER EVENT myevent
RENAME TO yourevent;
在PHP代码中,也可以执行event,比如:
$query = "CREATE EVENT publish_:id
ON SCHEDULE AT FROM_UNIXTIME(:scheduleDate)
DO
BEGIN
UPDATE blog_posts SET status = 'published' WHERE id = :id;
END";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id, ":scheduleDate" => $scheduleDate));
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11370mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16280https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1788权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 809图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 565要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1330| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1308在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2230mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1151mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1460procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1339mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1487mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1141oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1130一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22831.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2362http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 366610g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1074在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8411留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1326expert indexing in oracle datab ...
相关推荐
【数据库】Navicat for MySQL事件(Event)是MySQL数据库中的一种功能,用于实现定期自动执行的任务,类似于操作系统中的计划任务。在上述情境中,Event主要应用于数据的日常管理,包括定时备份、数据清理以及状态更新...
MySQL中的事件调度器(Event Scheduler)是一个用于在指定时间执行特定任务的功能,它可以周期性地运行SQL语句或语句块,类似于触发器。然而,当事件调度器无法打开mysql.event表时,可能会遇到错误“Event ...
MySQL中的定时任务,通常指的是Event事件,它是一种内置的机制,允许用户在特定时间或周期性地执行SQL语句或存储过程,而无需依赖操作系统级别的计划任务。Event事件的引入,使得数据库自身就能处理定时任务,提高了...
MySQL事件管理是数据库系统中非常重要的一个特性,它允许管理员或开发者设置定时任务,自动执行特定的SQL语句。在本篇文章中,我们将深入探讨如何修改、禁用、启用、重命名以及迁移MySQL数据库中的事件。 首先,让...
### MySQL中的ALTER EVENT详解 #### 一、概述 在MySQL中,`EVENT`是一种非常有用的数据库对象,它能够实现自动化的SQL任务调度功能。通过这种机制,用户可以在预设的时间点或者按照一定的周期性时间间隔自动执行一...
MySQL中的事件调度器(EVENT)是一个功能强大的工具,允许数据库管理员安排MySQL数据库执行计划任务。这些计划任务可以定时执行特定的SQL语句或语句块,从而实现周期性的数据处理和维护任务自动化。事件调度器类似于...
此任务通过MySQL数据库中的事件(Event)来定时执行一个自定义的存储过程(Stored Procedure),确保每天定时检查并更新满足条件的记录。 ### 一、任务概述 #### 1.1 背景与目的 在许多网站或应用中,岗位招聘信息...
MySQL中的Event是数据库管理系统提供的一种时间触发机制,它在MySQL 5.1版本引入,用于自动化执行周期性或定时的任务,类似于Linux系统中的crontab。Event与触发器(Triggers)不同,触发器是在特定数据库操作(如...
为了确保安全性,MySQL对事件操作进行了权限控制。只有拥有`EVENT`权限的用户才能创建、修改或删除事件。此外,事件的操作是在特定的数据库上下文中进行的,这意味着事件只能在其所属的数据库中可见和执行。 #### ...
MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...
4. **卸载MySQL服务**:在列表中找到与MySQL相关的服务或程序(例如MySQL Server),选中后点击上方的“卸载”按钮,按照提示完成卸载过程。 #### 二、清理MySQL相关文件 1. **删除MySQL文件夹**: - 打开资源...
- 事件调度器(Event Scheduler):安排定期执行的任务。 - 复制(Replication):数据库的主从复制,实现高可用性和负载均衡。 压缩包中的其他文件可能包含了阅读手册的指南,如`.chm`(HTML Help)文件的阅读...
MySQL中的事件调度器(Event Scheduler)是一个强大的工具,它允许用户创建定时任务,这些任务可以在预设的时间点执行或者按照固定的间隔重复执行。这个功能自MySQL 5.1.6版本开始引入,为数据库管理和自动化提供了极...
### MySQL Event Scheduler(事件调度器) #### 概述 MySQL事件调度器是在MySQL 5.1版本中引入的一项重要功能,它可以作为一种定时任务调度工具,有效地替代了以往必须依赖操作系统任务调度器(如Linux下的cron)来...
2. **控制面板卸载:** 在控制面板中找到MySQL,进行卸载。 3. **清理注册表:** 使用regedit打开注册表编辑器,定位并删除以下三个键值: - `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\...
如果权限不足,将无法创建或执行事件,需要更新`mysql.user`和`mysql.db`表中的`Event_priv`字段,并使用`FLUSH PRIVILEGES;`命令使更改生效。 创建事件的语法如下: ```sql CREATE EVENT [IF NOT EXISTS] event_...
2. **卸载MySQL Server**:接下来,通过“开始”菜单进入“设置”,然后选择“控制面板”。在“程序和功能”中,找到所有与MySQL相关的条目,包括MySQL Server、MySQL Workbench、MySQL Connector等,并逐一卸载。...
在进行卸载之前,您应该停止MySQL服务、结束MySQL进程、通过控制面板卸载程序、手动删除MySQL相关文件夹,并清理与MySQL相关的注册表项和系统中的残余文件。具体步骤如下: 1. 停止MySQL服务。您可以在计算机的“我...
在使用MySQL数据库的过程中,可能会遇到“权限不足”的错误提示,这通常是因为当前用户没有足够的权限来执行某些操作(如创建表、删除数据等)。本文将详细介绍如何解决MySQL权限不足的问题,并提供具体的解决方案。...