我有1900张表,像表_1,表_2和。。。。。。。。。。。。。。。。 结构相同。
我想将所有数据插入到一个新表TABLE_ALL中。
我知道使用UNION我能做的一切,但这是没有用的,因为表的数量很大。
我做了一个手术效果很好。
如果存在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 ;
结束