我是靠谱客的博主 危机小刺猬,最近开发中收集的这篇文章主要介绍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创建存储过程,批量建表分表00到99所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部