我是靠谱客的博主 危机小刺猬,这篇文章主要介绍mysql循环建表_mysql创建存储过程,批量建表分表00到99,现在分享给大家,希望可以做个参考。

--创建存储过程

DELIMITER $$

CREATE PROCEDURE `createTablesWithIndex`()

BEGIN

DECLARE `@i` INT(11);

DECLARE `@createSql` VARCHAR(2560);

DECLARE `@createIndexSql1` VARCHAR(2560);

DECLARE `@createIndexSql2` VARCHAR(2560);

DECLARE `@createIndexSql3` VARCHAR(2560);

DECLARE `@j` VARCHAR(10);

SET `@i`=0;

WHILE `@i`< 100DO

IF `@i`< 10THEN

SET `@j`= CONCAT(0,`@i`);

ELSE

SET `@j`=`@i`;

END IF;--`M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL,--创建表

SET @createSql= CONCAT('CREATE TABLE IF NOT EXISTS table_',`@j`,'(

`newsid` VARCHAR(255) NOT NULL ,

`classId` VARCHAR(255) DEFAULT NULL,

`kindId` VARCHAR(255) DEFAULT NULL,

`myOther` VARCHAR(255) DEFAULT NULL,

`headTitle` VARCHAR(255) DEFAULT NULL,

`content` VARCHAR(255) DEFAULT NULL,

`connectRealtive` VARCHAR(255) DEFAULT NULL,

`author` VARCHAR(255) DEFAULT NULL,

`editor` VARCHAR(255) DEFAULT NULL,

`newsFrom` VARCHAR(255) DEFAULT NULL,

`top` VARCHAR(255) DEFAULT NULL,

`newsTime` VARCHAR(255) DEFAULT NULL,

`hits` VARCHAR(255) DEFAULT NULL,

`state` VARCHAR(255) DEFAULT NULL,

`tag` VARCHAR(255) DEFAULT NULL

)');

PREPARE stmt FROM @createSql;

EXECUTE stmt;--创建索引

SET @createIndexSql1= CONCAT('create index `newsid` on table_',`@j`,'(`newsid`);');

PREPARE stmt FROM @createIndexSql1;

EXECUTE stmt;

SET `@i`= `@i`+1;

END WHILE;

END

最后

以上就是危机小刺猬最近收集整理的关于mysql循环建表_mysql创建存储过程,批量建表分表00到99的全部内容,更多相关mysql循环建表_mysql创建存储过程内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部