mysql 通过事件定时为数据库创建动态表名
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,#检测事件是否开启show variables like 'event_scheduler';#开启事件(最好在my.init设置,因为重启后还会变回默认值OFF)set global event_s
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
登录sftp服务器
网络安全百强领军者
网吧锐飞服务器管理
肇庆卫星软件开发价钱
染少网络技术网盘密码
会议录播服务器
网络安全工作事项
嘉定区专业软件开发代理品牌
erp软件开发费入什么科目
关于网络安全的英语演讲
上海潮流软件开发服务价格优惠
欧洲 国际网络安全
金万维高级服务器版注册机
重庆卓欧互联网科技有限公司
服务器数据库架构
宇信科技 互联网
常见的虚拟网络技术有哪些
服务器80端口对外映射安全么
更改泰拉瑞亚的服务器端口
澳洲2018配额 网络安全
有效服务器
北京中清龙图网络技术公司
域控服务器和管理员主机
双路机架服务器选择
美赛查重数据库
压裂模拟软件开发
51空间相册服务器下架
攻城掠地手游服务器
csgo安全服务器禁止
哪个app可以学软件开发吗