我有几百个完全相同的 MYSQL 表,其中包含 10 个中的 3 个特别重要的列。表名遵循以下模式:name1_name2:
Table 1 name: r_t
chr, chromStart, chromEnd...
Table 2 name: y_g
chr, chromStart, chromEnd...
有一个主表:
full_table_name, table_name_before_underscore, table_name_after_underscore
第一列由每个表的全名组成(r_t表示第一个表,y_g - 表示第二个),第二列 - 下划线之前的表名的第一部分(r和y),3d - 下划线之后(t和g )
我需要从每个表中获取带有 chr、chrStart、chromEnd 行的 UNION_all_table 以及由每个表名的第一部分(下划线之前)和第二部分(下划线之后)组成的 2 个附加列,以区分数据来自哪个表。对于上面的 2 个表:
Union_all_table:
chr, chrStart, chromEnd, table_name_before_underscore, table_name_after_underscore
1, 3456, 3487, r, t;
1, 3778, 3799, y, g;
准备好的语句不适用于 Alter 表、Update 表,所以我看不到仅通过 MYSQL 的方法。
非常感谢您的任何想法!