昨天在写美团2019秋招笔试题的时候遇到了关于视图是否能更新的问题,突然感觉这个问题之前复习的时候重点关注过,但是却又想不全。今天特地搜了一些资料总结一下。本文主要说明视图的更新限制,如需关于视图的更多知识,参考:MySql视图原理讲解与使用大全
1. 聚合函数(SUM(), MIN(), MAX(), COUNT()等)。
2. DISTINCT
3. GROUP BY
4. HAVING
5. UNION或UNION ALL
6. 位于选择列表中的子查询
7. Join
8. FROM子句中的不可更新视图
9. WHERE子句中的子查询,引用FROM子句中的表。
10. 仅引用文字值(在该情况下,没有要更新的基本表)。
11. ALGORITHM = TEMPTABLE(使用临时表总会使视图成为不可更新的)。
注意:
视图中虽然可以更新数据,但是有很多的限制。一般情况下,最好将视图作为查询数据的虚拟表,而不要通过视图更新数据。因为,使用视图更新数据时,如果没有全面考虑在视图中更新数据的限制,就可能会造成数据更新失败。
本文参考:MySql视图原理讲解与使用大全 和之前视图学习笔记
如需转载请注明出处:https://cloud.tencent.com/developer/article/1352613