几个月前,我创建了一个VIEW,它给了我上个月的交易。我在其他查询中使用该视图。问题是,我更改了VIEW中引用的表的一些表名,并且在进程中打破了VIEW查询。现在我的其他查询不再执行了。
有没有办法查看VIEW语句是什么,并编辑它以反映新的表名?我正在使用phpmyadmin,但每次我尝试去查看表时,它都会给我一个错误,说它无效,但它不会告诉我它是什么......
答案 0 :(得分:7)
通知您可以运行此视图的名称,它将显示创建视图的查询。如果phpMyAdmin不允许你运行它,那么你可能必须在命令行执行它。
SHOW CREATE VIEW view_name
你还应该说:
SQL SECURITY DEFINER VIEW `myViewName` AS
之后您将找到创建此视图的查询。将其复制并粘贴到文本编辑器中,您可以对其进行更改,使其适用于新的表名。
将其作为普通查询运行以确保其正常工作,然后当您准备将其替换为损坏的原始文件时,您可以运行此查询(请注意这将删除原始视图!):
DROP VIEW IF EXISTS myViewName;
CREATE VIEW myViewName AS ...(your new query here)...
希望有所帮助!
参考文献: