phpmyadmin 5.0.2 克隆数据库报错

Phpmyadmin 5.0.2 error when cloning database

我提前为我的英语道歉,我已经更新了 mysql (5.7.30) 和 Phpmyadmin (5.0.2)。发生这种情况,当复制具有不同名称的数据库时,在您添加类似 databasename.tablename 的子句中的视图,在以前的版本中没有人知道为什么会这样吗?

在以前的版本中,当使用不同的名称 (NewEnterprise) 克隆数据库 (Enterprise) 时,视图会保留其原始结构,例如:

CREATE VIEW customerPayments
AS 
select ID, FIRST_NAME, LAST_NAME 
from customer;

当前版本,克隆时,结构发生变化,在新数据库中,视图参考前面的例子:

CREATE VIEW customerPayments
AS 
select ID, FIRST_NAME, LAST_NAME 
from Enterprise.custome

哪里应该有类似的东西

CREATE VIEW customerPayments
AS 
select ID, FIRST_NAME, LAST_NAME 
from NewEnterprise.custome

或者碰巧没有数据库的别名。 我希望我已经让自己明白了,否则请告诉我,我会尽力扩展信息

这实际上是 MySQL 处理视图的方式的副作用 — 它们是用数据库严格定义的,table,并且列名都需要在视图中明确引用(例如例如,SELECT * FROM `bar`; 的视图被解释并存储为 SELECT `id`, `name` FROM `foo`.`bar`;。因此,即使您可能没有在视图中显式设置数据库名称或什至列名称,这也是 MySQL 存储它们的方式.

在复制数据库时,phpMyAdmin 应该会做一些有用的事情,并要求您调整这些;现在不行。我已在 https://github.com/phpmyadmin/phpmyadmin/issues/16214 添加功能请求以添加该功能。