MySql创建视图:
CREATE VIEW Foo as
select type from (select 8 as type UNION ALL select 9 as type) types;windows上的MySQL5.7.11:工作,但MySql 5.6.25-0ubuntu0.15.04.1 (Ubuntu):不工作。
View's SELECT contains a subquery in the FROM clause这是从5.6到5.7的变化吗?我试图在Ubuntu上将mysql升级到5.7,但在Ubuntu上不可用。有什么建议吗?谢谢。
编辑:示例是一个测试用例。实际情况是创建一个视图,使Bar的一条记录成为视图中的两条记录:
CREATE VIEW Foo as
select types.type, bar.value from
(select 8 as type UNION ALL select 9 as type) types, Bar bar发布于 2016-10-20 08:59:33
问题是您正在创建一个包含从另一个查询中选择的查询的视图。
因此您只需以不同方式在视图中编写select查询即可。
解决方案:
查询:
select type from (select 8 as type UNION ALL select 9 as type) types;与以下内容相同:
select 8 as type UNION ALL select 9 as type所以创建一个视图:
CREATE VIEW Foo AS
select 8 as type UNION ALL select 9 as type;发布于 2016-10-20 10:08:11
是的,这是MySQL的一个变化。
早期版本的MySQL不允许在存储视图定义中使用内联视图(或者用MySQL的话来说就是派生表)。
就建议而言..。在视图查询中似乎不需要任何内联视图。除此之外,我质疑是否有必要...也就是说,需要存储视图定义的原因。
https://stackoverflow.com/questions/40143771
复制相似问题