mysql创建每月执行一次的event】的更多相关文章

DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ EVENT `dev_sp2p6`.`e_test1` ON SCHEDULEEVERY  1  MONTH  STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 0 HOUR)ON  COMPLETION  PRESERVE…
CREATE PROCEDURE `tableName`.`procedureName`() LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '将3天前的未支付订单改为交易关闭状态\n将7天前的已支付订单改为交易成功状态' begin   update order_info set STATE = 7 where state = 0 and TO_DAYS(now()) - TO_DAYS(ORDE…
sql语法很多,是一门完整语言.这里仅仅实现一个功能,不做深入研究. 目标:定时更新表或者清空表. 案例:曾经做过定时清空位置信息表的任务.(然而,当时并未考虑服务器挂掉后的情况) 本次测试:每5s更新表字段+1 1.prepare 创建一个表: DROP TABLE IF EXISTS `test_sche`; CREATE TABLE `test_sche` ( `id` int(11) NOT NULL, `counts` int(11) DEFAULT NULL, PRIMARY KEY…
一.原因:  sql语句里边使用 'Y' 'N'  给boolean类型的赋值产生sql失败    二.解决方法:将insert语句中‘Y’或‘N’ 改成TRUE或FALSE即可,共两张表3个地方    本人是改成TRUE或FALSE之后不行,改成了0(假)或1(真)才成功的 (1)INSERT INTO R_VERSION(ID_VERSION, MAJOR_VERSION, MINOR_VERSION, UPGRADE_DATE, IS_UPGRADE) VALUES  (1,5,0,'20…
由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下. 注:mysql版本是从5.1开始才支持event的.如果你的版本低于5.1就先升级版本吧. 查看版本的方法有很多,这里只给大家提供一个    select version(): 1.查看是否开启evevt与开启evevt. 1.1.MySQL evevt功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的.               sh…
MySQL从5.1开始支持EVENT功能,类似Oracle和MSSQL的定时任务job功能.有了这个功能之后我们就可以让MySQL自动的执行存储过程来实现数据汇总等功能了,不用像以前哪样手动操作完成了.下面我们来测试下,在MYSQL中如何自动执行指定存储过程,实现相关功能. 一.创建测试表CREATE TABLE EVENT_table(id INT auto_increment PRIMARY KEY NOT NULL,conent VARCHAR(80))ENGINE=INNODB DEFA…
1.创建存储过程: CREATE DEFINER=`gzy`@`%` PROCEDURE `delLastMonth`() BEGIN DECLARE lastmonth int; SET lastmonth = DATE_FORMAT(date_sub(curdate(),interval 1 MONTH),'%Y%m'); DELETE FROM wysytask.user_sign WHERE `month`=lastmonth; DELETE FROM wysytask.user_res…
一. MySQL初始密码 新安装的MySQL默认是没有密码的,设置初始密码可以用以下命 mysqladmin -u root password 'new-password' mysqladmin -u root password /mysql.sock #socket多实例 设置初始密码后,可在当前用户家目录下创建.my.cnf文件,配置好用户名和密码后,该用户可以免密码登录,要注意设置文件权限,不要让其他用户看到密码信息 vi ~/.my.cnf [client] user=root host…
mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job.废话少说,下面创建表: create table mytable ( id int auto_increment not null, name varchar(100) not null default '', introduce text not null, createtime timestamp not null, constraint pk_mytable primary key(id) ) 创建存…
一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板  delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ';' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行 CREATE PROCEDURE 存储过程名称(你的参数可选) BEGIN # 开始 // 要写的code // ... END$$ # 结束 DELIMITER ; #将语句的结束符号恢复为分号 注意,创建存储过程的…