使用MySql存过批量建表

DELIMITER $$
CREATE PROCEDURE `create_xf_xfj_trade_records_Tables` (pram_year varchar(4))
BEGIN
	DECLARE	i INT ;
	DECLARE table_name VARCHAR(27);
	SET i = 1 ;
	WHILE i <= 12 DO
		IF i<10 THEN
		SET table_name = CONCAT('trade_records_',pram_year,'0',i);
		ELSE
		SET table_name = CONCAT('trade_records_',pram_year,i);
		END IF;

	SET @qqq = CONCAT(
		'CREATE TABLE IF NOT EXISTS ',table_name,'(
				id char(32) DEFAULT NULL,
				user_id int(8) NOT NULL COMMENT "用户ID",
				card_number char(20) DEFAULT NULL COMMENT "卡号",
				dev_id int(8) NOT NULL COMMENT "消费记录时为消费机id,充值记录时(卡尔充值机充值时,为充值操作人id)(卡尔空中充值方式,固定值-1)(能龙对接的充值记录,固定值-2)(翼支付充值记录,固定值-3)(第三方平台 用户Id-暂定)",
				service_id int(4) NOT NULL COMMENT "1004消费充值,1005刷卡消费,1012余额转出,1013余额转入,1014消费退款,1018消费补款,1019消费平账,1020月包餐,1021学校收费,1022按次消费",
				rec_time datetime NOT NULL COMMENT "刷卡时间",
				checkstat tinyint(1) DEFAULT "0" COMMENT "消费状态:0=消费记录,1=正常消费,2=非正常消费,3=充值(卡尔充值机充值时取值0,卡尔空中充值、能龙对接方式取值3,才能在手机上显示),4确定未扣费.5异常记录,6记录缺失,7圈存充值未到卡,8()。",
				money decimal(9,2) NOT NULL DEFAULT "0.00" COMMENT "原有金额",
				consumption decimal(9,2) NOT NULL COMMENT "消费金额(合计)",
				over decimal(9,2) NOT NULL COMMENT "消费后余额",
				surplus_money decimal(9,2) DEFAULT "0.00" COMMENT "充值或消费后平台余额",
				from_tag tinyint(2) DEFAULT NULL COMMENT "来源 1=卡尔充值机,2=卡尔无卡充值,3=卡尔空中充值,4=能龙平台,5=翼支付 6卡尔批量充值 7第三方平台",
				way_tag tinyint(2) DEFAULT NULL COMMENT "方式1=微信,2=支付宝,3=网银,4=现金充值,5=翼支付充值",
				order_code char(32) DEFAULT NULL COMMENT "订单Id",
				add_time datetime NOT NULL COMMENT "创建时间",
				serial_number int(8) DEFAULT NULL COMMENT "消费机自带流水号",
				canbie_id tinyint(2) DEFAULT NULL COMMENT "餐别",
				KEY `idx_rec_time` (`rec_time`) USING BTREE,
				KEY `idx_user_id` (`user_id`) USING BTREE,
				KEY `idx_dev_id` (`dev_id`) USING BTREE
			) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT="消费机交易记录表";'
	) ; PREPARE create_stmt
	FROM
		@qqq ; EXECUTE create_stmt ;
	SET i = i + 1 ;
	END
	WHILE ;
	END $$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值