mysql 通过事件定时为数据库创建动态表名
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,#检测事件是否开启show variables like 'event_scheduler';#开启事件(最好在my.init设置,因为重启后还会变回默认值OFF)set global event_s
千家信息网最后更新 2025年02月03日mysql 通过事件定时为数据库创建动态表名
#检测事件是否开启
show variables like 'event_scheduler';
#开启事件(最好在my.init设置,因为重启后还会变回默认值OFF)
set global event_scheduler = on;
#创建事件(从11月24号开始每天执行一次)
create EVENT eve_createTableON SCHEDULE EVERY 1 DAYSTARTS '2016-11-24 00:00:00' ON COMPLETION PRESERVE ENABLEDOCALL pro_createTable();
注:
1、ON
COMPLETION PRESERVE ENABLE 是创建此事件即开始自动执行
2、SCHEDULE EVERY 1 DAY STARTS '2016-11-24 00:00:00' 从指定时间开始每天执行一次
#创建存储过程(动态表名)
CREATE PROCEDURE pro_createTable()BEGINDECLARE str VARCHAR(20000);set str= CONCAT('CREATE TABLE member_network_',DATE_FORMAT(now(),'%Y%m%d'),'(`id` bigint(20) NOT NULL AUTO_INCREMENT ,`member_id` bigint(20) NULL DEFAULT NULL ,`host_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`serv_crc` varchar(2000) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL ,`app_crc` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`sync_time` timestamp NULL DEFAULT NULL ,`online_time` datetime NULL DEFAULT NULL ,`type` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`up_stream_flux` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`down_stream_flux` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`total_stream_flux` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`line_no` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`url` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,`action` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`sev_port` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`sor_port` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`protocol` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`regionCode` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`memo` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`policy` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`dns` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`idcard` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`client_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`),INDEX `dept_type` (`regionCode`(255), `serv_crc`(255), `online_time`, `name`, `type`(255)) USING BTREE )ENGINE=InnoDBDEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ciAUTO_INCREMENT=1ROW_FORMAT=COMPACT');SET @sqlstr=str;PREPARE stmt from @sqlstr;EXECUTE stmt;deallocate prepare stmt;END;
执行时报错,因为CONCAT拼接超过最大值;
#sql语句查看该参数,修改并重启mysql
show VARIABLES like '%max_allowed_packet%';set global max_allowed_packet = 25600
mysql的前天、今天、后天
#2016-12-09DATE_FORMAT(date_sub(curdate(),interval 1 day),'%Y%m%d')#2016-12-10DATE_FORMAT(date_sub(curdate(),interval 0 day),'%Y%m%d')#2016-12-11DATE_FORMAT(date_sub(curdate(),interval -1 day),'%Y%m%d')
事件
动态
最大
参数
时报
时间
最大值
最好
语句
过程
存储
检测
数据
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学软件开发后能做什么的
湖北数据库安全箱行业
宁波惠普机架式服务器
双非学校网络安全
趣智科技软件开发部
爱奇艺的服务器是什么
js 取服务器时间
建设城市基础空间数据库
济南宇泉网络技术是干嘛的
数据库技术运用课程内容
医院网络安全方案设计
dell服务器自动
戴尔服务器模块作用
制作简单网络安全手抄报图片
网络安全知识普及绘画a3纸
网络安全ips是什么意思
上海哪家软件开发不加班
印度软件开发多少钱
Nba数据库bbr
sybase数据库日志满了
软件开发公司的资质包括哪些
网络安全人员李健
服务器显卡接口 十针
阿里云服务器优点
it 硬件 软件开发
超难度网络安全手抄报
黄牛网络技术怎么样
剑灵国民师姐服务器
网络安全知识语句
怎样比对批量列中数据库