在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中,所有字段顺序要完全一致!

本文通过案例解析在MySQL视图使用UNION ALL时可能遇到的数据串列问题,强调了字段顺序的重要性,避免因疏忽导致数据展示错误。
1395

被折叠的 条评论
为什么被折叠?



