Mysql 视图限制条件

    技术2022-05-20  42

    原来一直使用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子句中指定的表中的所有的列,但这些列不允许空值或者没有指定默认值。


    最新回复(0)