首页 > 数据库技术 > 详细

Mysql 批量建表存储过程

时间:2015-01-13 21:15:04      阅读:375      评论:0      收藏:0      [点我收藏+]

   最近项目中用到了使用存储过程批量建表的功能,记录下来:

   

USE db_test_3;
drop procedure if EXISTS `createTablesWithIndex`;
create procedure createTablesWithIndex()
BEGIN 
        DECLARE `@i` int(11);     
        DECLARE `@createSql` VARCHAR(2560); 
        DECLARE `@createIndexSql1` VARCHAR(2560);     
        DECLARE `@createIndexSql2` VARCHAR(2560);
        DECLARE `@createIndexSql3` VARCHAR(2560);


        set `@i`=0; 
        WHILE  `@i`< 64 DO                 
    
                            -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL,
                            -- 创建表        
                            SET @createSql = CONCAT(CREATE TABLE IF NOT EXISTS test_,`@i`,(
                                `t_ID` bigint   AUTO_INCREMENT PRIMARY KEY NOT NULL,
                                `t_CODE` varchar(30) DEFAULT NULL,
                                )
                            ); 
                            prepare stmt from @createSql; 
                            execute stmt;                             
                        
                            -- 创建索引    
                            set @createIndexSql1  = CONCAT(create index `t_code` on test_,`@i`,(`t_code`););
                            prepare stmt from @createIndexSql1; 
                            execute stmt; 
SET `@i`= `@i`+1; 
            END WHILE;
END

 

Mysql 批量建表存储过程

原文:http://www.cnblogs.com/onmyway20xx/p/4222296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!