从2.3.0版本升级至2.4.0版本。在MySQL客户端、命令行终端执行查询视图表sql:select * form table_xxx_xx;
出现报错:
ERROR 1064 (HY000): Unknown table ''table_xxx_xx"
或者
已经use databases_xxx。切换到该库下,已经执行查询视图sql:select * form c;
,
报错:ERROR 1064 (HY000): Unknown database ‘default_cluster:databases_xxx2’
其中表为视图,表table_xxx_xx在databases_xxx,而不是在databases_xxx2。fe无日志报错,报错皆为MySQL终端返回的报错。
麻烦提供下建表语句和视图创建语句呢
你好,这个表有点复杂,嵌套多个视图表,原始的建表就不提供了。大致是在a库建立a_view_table。
而a_view_table是从b库的b_view_table、b_view_table、c_view_table、d_view_table。select部分字段组成a_view_table。
建表语句大致有:
use a;
CREATE VIEW a_view_table
(
id,
name,
age,
emploee,
) COMMENT “员工信息表” AS
SELECT
b.id as id,
b.name as name,
c.age as age,
c.emploee as emploee
FROM
b
.b_view_table
AS b
LEFT OUTER JOIN b
.c_view_table
AS c
ON
b
.id
= c
.id
LEFT OUTER JOIN b
.d_view_table
AS d
ON
b
.id
= d
.id
;
另外,对比了,原始的建表语句与建表之后的在终端执行命令:show create table a_view_table。发现from这里,库名变成:default_cluster:b。不知是否有影响?