问:
为什么mysql有时更新不了视图?
答:
不是所有的视图都可以更新,有下列内容之一,视图不能做更新:
- select子句中包含distinct ;
- select子句中包含组函数 ;
- select语句中包含group by子句 ;
- select语句中包含order by子句 ;
- select语句中包含union 、union all等集合运算符 ;
- where子句中包含相关子查询 ;
- from子句中包含多个表 ;
- 如果视图中有计算列,则不能更新;
- 如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作