Mysql 创建视图时如何删除JOIN子句上的数据库名称?

Mysql 创建视图时如何删除JOIN子句上的数据库名称?,mysql,sql,Mysql,Sql,所以我的一个观点有问题。当前的场景是,有一个数据库模板和一个视图。系统将数据库模板作为系统中的新“工作区”复制到新数据库中 数据库中的视图在JOIN子句中包含数据库名称,如下所示: LEFT JOIN `db_template`.`temp_table` `t1` 即使当我试图删除数据库名称重新创建视图时,在执行检查后,数据库名称会自动生成,并且仍然存在 因此,我的问题是,当复制db_模板时,视图中的数据库名称将沿着新的“工作区”数据库复制,因此它仍然引用联接上的db_模板 在连接表时是否有删

所以我的一个观点有问题。当前的场景是,有一个数据库模板和一个视图。系统将数据库模板作为系统中的新“工作区”复制到新数据库中

数据库中的视图在JOIN子句中包含数据库名称,如下所示:

LEFT JOIN `db_template`.`temp_table` `t1`
即使当我试图删除数据库名称重新创建视图时,在执行检查后,数据库名称会自动生成,并且仍然存在

因此,我的问题是,当复制db_模板时,视图中的数据库名称将沿着新的“工作区”数据库复制,因此它仍然引用联接上的db_模板

在连接表时是否有删除数据库名称的方法?如果有帮助,我尝试从SQLyog执行创建视图。 我还尝试将脚本保存到一个.sql文件中,并使用mysql命令在shell脚本上执行该文件,但DB名称仍然存在

注:如果MySQL v5.5有帮助的话,我也在使用它


提前感谢。

创建此视图的数据库是否为(1)当前用户的默认数据库(b)在创建过程中被设置为定义者的用户(2)当前数据库?是,它是创建过程中选择的当前数据库。视图的定义者是为我复制的另一个用户(超级用户)设置的。如果当前数据库=查看数据库!=表数据库,然后在视图定义中看到数据库别名。测试所有组合,找到那些不添加数据库别名的组合,使用其中一个组合。