分库分表时使用存储过程创建表

# 创建存储过程
# 声明语句开始符
delimiter $
drop procedure if exists `creteTableByIndex`;
create procedure creteTableByIndex()
begin
    declare i int(11);
    set i = 0;
    while i <= 127
        do
            -- 创建表
            set @createSql = CONCAT('CREATE TABLE ykq_order_', i, '(
                                    `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ''自增ID'',
                                    `order_no` varchar(100) NOT NULL DEFAULT '''' COMMENT ''订单号'',
                                    `remark` varchar(1000) DEFAULT '''' COMMENT ''备注/说明'',
                                    `ext` varchar(3000) DEFAULT '''' COMMENT ''扩展字段'',
                                    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''创建时间'',
                                    `create_pin` varchar(100) NOT NULL DEFAULT '''' COMMENT ''创建人'',
                                    `modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''更新时间'',
                                    `modify_pin` varchar(100) NOT NULL DEFAULT '''' COMMENT ''更新人'',
                                    `version` int(11) unsigned NOT NULL DEFAULT ''1'' COMMENT ''版本 默认1'',
                                    `yn` bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否删除:0:否;1:是 默认0'',
                                    PRIMARY KEY (`id`),
                                    KEY `idx_orderNo` (`order_no`) USING BTREE COMMENT ''订单号索引''
                                    ) ENGINE = InnoDB AUTO_INCREMENT = 95829732 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMMENT = ''订单表'''
                );
            prepare stmt from @createSql;
            execute stmt;
            SET i = i + 1;
        end while;
end $
# 声明语句结束符
delimiter ;
# 调用存储过程
call creteTableByIndex();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值