mysql 使用存储过程批量创建表,内部会有索引创建,索引创建直接在sql中创建注意不要加字段的注释,否则会报错DELIMITER ;; CREATE PROCEDURE create_feed() BEGIN DECLARE `@y` INT DEFAULT 0; DECLARE `@createSql` VARCHAR(1000); DECLARE `@createIndexSql` VARCHAR(1000); set `@y`=0; WHILE `@y`<3 DO SET @createSql = CONCAT('CREATE TABLE IF NOT EXISTS user_feed_list_',`@y`,'( `feed_id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) DEFAULT 0, `channel_id` int(11) DEFAULT 0, `sub_channel_id` int(11) DEFAULT 0, `main_id` varchar(100) DEFAULT NULL, `extend` varchar(100) DEFAULT NULL, `type` tinyint(4) DEFAULT 0, `publish_time` datetime DEFAULT NULL, `creation_time` datetime DEFAULT NULL, PRIMARY KEY (`feed_id`), KEY `feed_index` (`user_id`,`publish_time`) USING BTREE )' ); prepare stmt from @createSql; execute stmt; SET `@y`=`@y`+1; END WHILE ; END;;
查看原文:http://www.architecy.com/archives/246
mysql 根据user_id来分割批量创建数据表
最新推荐文章于 2023-04-21 10:42:59 发布
本文介绍了一种使用MySQL存储过程来批量创建包含索引的表的方法。通过定义变量和循环,可以动态地生成创建表及索引的SQL语句。
853

被折叠的 条评论
为什么被折叠?



