首页 > 代码库 > mysql 中批量创建日志表信息脚本
mysql 中批量创建日志表信息脚本
mysql中通过存储过程批量创建日志信息表脚本如下:
drop PROCEDURE if EXISTS reqSp; DELIMITER // create procedure reqSp(sTime varchar(32), eTime varchar(32),tchema varchar(32)) begin declare sName varchar(128); declare uid varchar(128); declare orderId varchar(128); declare sqlVar varchar(1024); declare rest int; set rest = 1; while rest > 0 do set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%m%d')); set sName = CONCAT('tbl_resp_',sTime); set uid = CONCAT('idx_id_resp_',sTime); set orderId = CONCAT('idx_order_resp_',sTime); select count(1) from information_schema.tables where table_name = sName and TABLE_SCHEMA=tchema into @cnt; if @cnt = 0 then set sqlVar=CONCAT(' create table ',sName, ' ( id varchar(60) NOT NULL, ', ' order varchar(100) NOT NULL, ', ' ads int(10) NOT NULL, ', ' type varchar(60) NOT NULL, ', ' group int(10) NOT NULL, ', ' template int(10) NOT NULL, ', ' banner varchar(100) DEFAULT NULL, ', ' app varchar(100) DEFAULT NULL, ', ' create_time datetime NOT NULL, ', ' key ',uid ,' (uid),', ' key ',orderId ,' (order_id)', ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 '); set @v_s=sqlVar; prepare stmt from @v_s; EXECUTE stmt; DEALLOCATE PREPARE stmt; end if; set rest = DATEDIFF(eTime,sTime); END while; end; // DELIMITER;
call reqSp(‘20141001‘,‘20151001‘,‘dbname‘)
第一个参数开始时间 20141001
第二个参数结束时间 20151001
第三个参数是数据库名称
mysql 中批量创建日志表信息脚本
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。