mysql for 建表

能在for循环里执行下面的语句吗?比如建100张表

create table test_1 like test_0;
阅读 2.5k
2 个回答

写个存储过程,调用

DROP PROCEDURE IF EXISTS dorepeat; 
CREATE PROCEDURE dorepeat(p1 INT)
BEGIN
    DECLARE i int DEFAULT 0;
    REPEAT 
        SET i = i + 1; 
        set @sql_create_table_gpstrail = concat('create table if not exists tab_test_',i,' like tab_test');
        PREPARE sql_create_table_gpstrail FROM @sql_create_table_gpstrail;     
        EXECUTE sql_create_table_gpstrail;
    UNTIL i > p1 END REPEAT;
END

call dorepeat(3);

用数据库的存储过程可以实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题