分表比较多的情况,如何批量创建,可通过存储过程实现:
创建一个存储过程:红色表结构,蓝色为表名及表数量
delimiter //
create procedure sp_create_tab()begin
set @str = " (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`bak0` varchar(128) DEFAULT NULL COMMENT '备用',
`bak1` varchar(128) DEFAULT NULL COMMENT '备用',
`bak2` varchar(128) DEFAULT NULL COMMENT '备用',
`bak3` varchar(128) DEFAULT NULL COMMENT '备用',
`bak4` varchar(128) DEFAULT NULL COMMENT '备用',
`bak5` varchar(128) DEFAULT NULL COMMENT '备用',
`bak6` varchar(128) DEFAULT NULL COMMENT '备用',
`bak7` varchar(128) DEFAULT NULL COMMENT '备用',
`bak8` varchar(128) DEFAULT NULL COMMENT '备用',
`bak9` varchar(128) DEFAULT NULL COMMENT '备用',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
KEY `bak0` (`bak0`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='表'";
set @j = 0;
while @j < 256 do
set @table = concat( 'table_name',@j);
set @sql_t = concat("CREATE TABLE ",@table,@str);
prepare sql_t from @sql_t;
execute sql_t;
set @j = @j + 1;
end while;
end
//
delimiter ;