好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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批量增加表中新列存储过程 - mysql数据库栏目的详细内容...

  阅读:52次