首页 > 代码库 > mysql批量增加表中新列存储过程
mysql批量增加表中新列存储过程
一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下:
日志表结构类型 tbl_ads_req_20140801, tbl_ads_req_20140802 ...
DELIMITER // create procedure sp2() begin declare sTime varchar(32); declare eTime varchar(32); declare sName varchar(128); declare lName varchar(128); declare sqlVar varchar(128); declare rest int; set sTime = '20140801'; set eTime = '20140831'; set sName = CONCAT('tbl_ads_req_',''); set lName = ''; set rest = 1; while rest > 0 do set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%m%d')); set lName = CONCAT(sName,sTime); set sqlVar=CONCAT(' alter table ',lName,' add app_package varchar(64)'); set @v_s=sqlVar; prepare stmt from @v_s; EXECUTE stmt; set rest = DATEDIFF(eTime,sTime); END while; end; // DELIMITER;
涉及到一些mysql函数需要自己查哦!
mysql批量增加表中新列存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。