MySQL纵向拼接两张列数不同的表

我在数据库中有两张表,其中一张表X的字段是A1,A2,A3,直到A100;另一张表Y的字段是A1,A3,直到A100(没有A2,其他字段的名字和表Y完全相同)。
现在我想把两张表进行纵向拼接,直接用union all的话,会因为列数不同而失败,所以想在表Y上插入字段A2,令值全部为空。但是如何可以把A2插入到A1和A3之间,来保证拼接正确呢?

MYSQL 好像可以添加新列到指定列,你试试这句: alter table Y add A2 int default NULL after A1

这种效果?
SELECT * FROM X
UNION ALL
SELECT A1, NULL AS A2,A3,A4,A.........n FROM Y