批量建立MySQL表

原创
2014/08/05 23:14
阅读数 6.4K

今天遇到MySQL的分表问题,可以采用脚本方式循环建立新的表,也可以使用delimiter 建立。下面以建立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;

//

展开阅读全文
打赏
0
9 收藏
分享
加载中
更多评论
打赏
0 评论
9 收藏
0
分享
返回顶部
顶部