mysql循环建表_mysql 批量建表 存储过程

delimiter //

CREATE procedure create_table()

BEGIN

DECLARE `@i` int(11);

DECLARE `@sqlstr` varchar(65000);

SET `@i`=0;

WHILE `@i` < 256 DO

SET @sqlstr = CONCAT(

“CREATE TABLE box_item_pool_”,

`@i`,

“(

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`_unique` varchar(64) NOT NULL DEFAULT ” COMMENT ‘分表后唯一标示’,

`user_id` int(10) unsigned NOT NULL DEFAULT ’0′ COMMENT ‘用户ID’,

`box_id` int(10) unsigned NOT NULL DEFAULT ’0′ COMMENT ‘盒子ID’,

`prod_id` int(10) unsigned NOT NULL DEFAULT ’0′ COMMENT ‘商品ID, 目前是product_master.id’,

`prod_code` varchar(32) NOT NULL DEFAULT ” COMMENT ‘商品CODE, 目前是product_master.code’,

`product_id` int(10) unsigned NOT NULL DEFAULT ’0′ COMMENT ‘product.id’,

`created_at` datetime DEFAULT NULL,

`updated_at` datetime DEFAULT NULL,

`deleted_at` datetime DEFAULT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `_unique` (`_unique`) USING BTREE,

KEY `user_box` (`user_id`,`box_id`),

KEY `box` (`box_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;”

);

prepare stmt from @sqlstr;

execute stmt;

SET `@i` = `@i` + 1;

END WHILE;

END;

call create_table();

drop procedure create_table;

//

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值