批量建立MySQL表

今天遇到MySQL的分表问题,可以采用脚本方式循环建立新的表,也可以使用sql建立。下面以建立player_0到player_9的语句为例。

delimiter //
CREATE procedure create_table()
BEGIN
DECLARE `@i` int(11);
DECLARE `@sqlstr` varchar(2560);
SET `@i`=0;
WHILE `@i` < 10 DO
SET @sqlstr = CONCAT(
"CREATE TABLE player_",

`@i`,

"(
`player_id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` int(11) NOT NULL COMMENT ‘用户ID‘,
`personaname` varchar(50) NOT NULL COMMENT ‘昵称‘,
PRIMARY KEY (`player_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘用户表‘ AUTO_INCREMENT=1 "
);
prepare stmt from @sqlstr;
execute stmt;

SET `@i` = `@i` + 1;
END WHILE;
END;
call create_table();
drop procedure create_table;

批量建立MySQL表,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。