在mysql的视图中,有时用union all可以将多个表组织在一个表中,但不注意可以出现数据串列问题,如下case:
用union all 组织成一个view就是:
select a.id,a.quantity,a.price,a.additional,a.money from 表一 as a
union all
select b.id,b.quantity,b.price,b.money,b.additional from 表二 as b
注意b.additional的顺序变了,最后结果如下:
可以看到表二的money与additional交换了列的位置,value完全不同了。
正确的写法,在sql中,所有字段顺序要完全一致!