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-02-16 11:21:15 发布