登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. LINUX
  4. Mysql
  5. 正文

Navicat下mysql利用事件与存储过程定时创建表-学习笔记

2017-02-12

需求:由于一张表按照日期水平分表,所以需要定时做一些事情,比如说分表。

表名格式:historydata_XXXX(如history_20170218)

具体需求:每日定时创建后续15天空表。

一、打开mysql 定时任务

方法1:修改my.ini

添加一行:

event_scheduler=ON

 

方法2:命令行状态输入

mysql> set global event_scheduler =1;

二、添加存储过程

1、右键函数,选择新建函数

2、选择‘过程’

3、该存储过程不用参数

4、输入创建表的存储过程

代码:

BEGIN
  declare start int default 0;
  set start=0;
  WHILE start < 15 DO
	set @sql_create_table = concat(  
'CREATE TABLE IF NOT EXISTS historydata_', date_format(FROM_UNIXTIME(unix_timestamp()+86400*start),'%Y%m%d'),  
"(  
    `oper_id` int(10) NOT NULL AUTO_INCREMENT,  
    `oper_role` int(11) NOT NULL,   
    `oper_type` varchar(30) NOT NULL DEFAULT '',  
    `oper_content` varchar(1000) NOT NULL DEFAULT '',  
    `oper_cls` int(10) NOT NULL DEFAULT '0',  
    `oper_date` datetime NOT NULL,  
    `oper_serverid` int(11) NOT NULL DEFAULT '1',  
    PRIMARY KEY (`oper_id`)  
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8");  
  
  PREPARE sql_create_table FROM @sql_create_table;     
  EXECUTE sql_create_table; #Routine body goes here...
  set start = start +1;
  end WHILE;
END

5、保存,输入存储过程名

名字:proc_auto_create_historydata_table

三、创建定时事件

1、新建事件

输入事件过程

call proc_auto_create_historydata_table()

 

2、定义定时计划任务

3、保存事件

输入时间名称:event_auto_create_historydata_table

四、检验

经查验,该定时任务无误。

enjoy it !

 

参考链接


http://blog.csdn.net/tantexian/article/details/50317829

http://blog.csdn.net/ljxfblog/article/details/41175923

标签: 暂无
最后更新:2017-02-12

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号