原来一直使用oracle数据库,最近公司上了一个新的系统,开始使用mysql数据库。
所以这段时间一直学习使用mysql,今天在写一个view的时候发现了一个点问题。
我在保存View的时候,系统始终在报“1349 view's select contains a subquery in the from clause”;
查了查资料才发现,原来mysql的view 与oracle的view还是有一定差异的,记录下来方便查阅。
以下9条为更新视图的限制条件:
1.SELECT 子句不能包含 DISTINCT。
2.SELECT 子句不能包含聚合函数。
3.FROM 子句不能包含多个表。
4.WHERE 子句不能包含一个关联性子查询。
5.SELECT 语句不能包含一个GROUP BY 子句。
6.SELECT 语句不能包含一个ORDER BY 子句。
7.SELECT语句不能包含一个集合运算符。
8.不能更新一个虚拟列。
CREATE VIEW AGES(PALYERNO,BEGIN_AGE) as
SELECT PALYERNO,JOINED-YEAR(BIRTH_DATE)
FROM PLAYERS;(该语句会报错)
9.SELECT子句必须包含FROM子句中指定的表中的所有的列,但这些列不允许空值或者没有指定默认值。