提问者:小点点

将模式相似的多个表插入到一个表中


我有1900张表,像表_1,表_2和。。。。。。。。。。。。。。。。 结构相同。

我想将所有数据插入到一个新表TABLE_ALL中。

我知道使用UNION我能做的一切,但这是没有用的,因为表的数量很大。


共1个答案

匿名用户

我做了一个手术效果很好。

如果存在INSERT_FROM_MULTIPLE_TABLE,则删除过程; 创建过程insert_from_multiple_table()Begin DECLARE tableCount INT DEFAULT 0; 从INFORMATION_SCHEMA中选择COUNT(*)到tableCount中。tables其中table_name如'table_%'和table_schema='your_db';

WHILE tableCount>0 DO
    SET @dt_ncv = CONCAT("table_",tableCount);
    SET @cntstmt = CONCAT( "insert into alltable select * FROM ",@dt_ncv);
    
    #select @cntstmt;
    PREPARE ncv_count_stmt FROM @cntstmt;
    EXECUTE ncv_count_stmt;

    SET tableCount = tableCount-1;
END WHILE   ;

结束