原!mysql5.6 存储过程 批量建表
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表。
根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表。
BEGIN DECLARE `@i` INT(11);
DECLARE `@createTime` varchar(32); SET `@i` = 0;
set `@createTime` =''; while `@i` < 2 do set @createSql = CONCAT('CREATE TABLE IF NOT EXISTS open_msg_',`@createTime`,
'(`id` int(16) NOT NULL AUTO_INCREMENT,
`msgType` varchar(2) DEFAULT NULL COMMENT \' 消息类型 1:裸短信 2:模板短信\',
`msgSendTime` timestamp NULL DEFAULT NULL COMMENT \'短信下发时间 YYYYMMDDhhmmss\',
`developerAccount` varchar(70) DEFAULT NULL COMMENT \'开发者账号\',
`developerCompany` varchar(70) DEFAULT NULL COMMENT \'开发者公司名称\',
`templetId` varchar(70) DEFAULT NULL COMMENT \'模板id\',
`msgContent` varchar(550) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT \'消息内容\',
`accessNumber` varchar(35) DEFAULT NULL COMMENT \'接入号\',
`userMobile` varchar(16) DEFAULT NULL COMMENT \'用户号码\',
`msgUniqueId` varchar(70) DEFAULT NULL COMMENT \'短信唯一标识\',
`appSideShortName` varchar(40) DEFAULT NULL COMMENT \'应用方简称\',
`createTime` timestamp NULL DEFAULT NULL COMMENT \'入库时间\',
`updateTime` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
index msg_index(`msgType`, `developerAccount`,`msgSendTime`,`accessNumber`)
)ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8'
); prepare stmt from @createSql;
execute stmt; SET `@i`= `@i`+1;
set `@createTime` = (select DATE_FORMAT((select ADDDATE(`@createTime`,1)),'%Y%m%d'));
END WHILE;
END
原!mysql5.6 存储过程 批量建表的更多相关文章
- Mysql 存储过程批量建表
CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20) ...
- Mysql 批量建表存储过程
最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create ...
- mysql创建存储过程,批量建表分表00到99
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` ...
- sql2000分享 批量建表dev_编号
批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @ ...
- Oracle 存储过程动态建表
动态sql,顾名思义就是动态执行的sql,也就是说在没执行之前是动态的拼接的. 任务 传入参数:新建的表名hd+当前的年和月,例如hd_201105表结构是:字段1:id ,类型是number,可以自 ...
- mysql存储过程批量向表插入数据
业务需要,往某个表中批量插入数据,使用存储过程插入 首先,要建立一张mysql表,表明为phone_number, 三个字段,id 自增,number 就是要插入的表格,is_used 表示十分已经使 ...
- 原!mysql存储过程 批量导入数据
mysql需要导入某前缀例如12345为前缀的,后缀扩展2位 即00-99. 利用存储过程插入数据. DROP PROCEDURE IF EXISTS insert_popsms_code;DELIM ...
- MYSQL 使用存储过程批量更新表数据
功能:实现将表result_good_city_dzl中的字段lat更新为表 result_good_city_lh中的lat,条件是两个表中的id一样 即: update result_good_c ...
- Linq批量建表
public JsonResult CreateTable() { db = new RZBDbContext(); var query = (from c in db.Clients select ...
随机推荐
- 【项目总结】:怎样做一个牛逼的Team leader?
随着ITOO高校云平台3.1项目的结束,我们各种各样的总结也被提上了日程. Java版本号的全部开发者和Donet版本号的全部开发者坐在一起进行了关于项目开发管理的头脑风暴,尽管我仅仅是Donet开发 ...
- 记一次kafka客户端NOT_COORDINATOR_FOR_GROUP处理过程
转发请注明原创地址:https://www.cnblogs.com/dongxiao-yang/p/10602799.html 某日晚高峰忽然集群某个大流量业务收到lag报警,查看客户端日志发现reb ...
- 使用tar+lz4/pigz+ssh更快的数据传输
使用tar+lz4/pigz+ssh更快的数据传输 -- | :41分类:Linux,MySQL | 前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速 ...
- linux学习笔记30--命令at和crontab
在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一 ...
- undefined reference to错误
最近在移植开发openssl库时,编译自己的动态库遇到undefined reference to错误,在此记录一下 从openssl官网移植openssl库,得到libssl.a和libcrypto ...
- 微信小程序 js逻辑
}) 页面 Page() 函数用来注册一个页面.接受一个 object 参数,其指定页面的初始数据.生命周期函数.事件处理函数等. data 页面的初始数据,data 将会以 JSON 的形式由逻辑层 ...
- A Deep Compositional Framework for Human-like Language Acquisition in Virtual Environment
论文地址:https://128.84.21.199/abs/1703.09831 这篇论文来自于百度的机器学习研究院,作者为:徐伟.余昊男.张海超 这篇论文用了多种技术的组合: reinforcem ...
- java简易excel导入导出工具(封装POI)
Octopus 如何导入excel 如何导出excel github项目地址 Octopus Octopus 是一个简单的java excel导入导出工具. 如何导入excel 下面是一个excel文 ...
- JQuery基本选择器和基本动画方法总结
刚开始接触JQuery是在大三的时候,那时候先学的Javascript,然后跳跃到JQuery,就一个字,爽.但因为之前用的不是太多,所以很多都忘了,直接导致的后果就是之前在一家公司面试,面试官问我要 ...
- nodejs之路探寻
在webpack配置中经常会发现 const path = require('path') 这是加载nodejs路径处理API,这个API主要包含下面三个方法 path.dirname(filepat ...