我打破了我的Mysql View查询。我如何解决它?

时间:2010-03-21 22:30:20

标签: mysql phpmyadmin

几个月前,我创建了一个VIEW,它给了我上个月的交易。我在其他查询中使用该视图。问题是,我更改了VIEW中引用的表的一些表名,并且在进程中打破了VIEW查询。现在我的其他查询不再执行了。

有没有办法查看VIEW语句是什么,并编辑它以反映新的表名?我正在使用phpmyadmin,但每次我尝试去查看表时,它都会给我一个错误,说它无效,但它不会告诉我它是什么......

1 个答案:

答案 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)...

希望有所帮助!

参考文献:

  1. http://dev.mysql.com/doc/refman/5.1/en/show-create-view.html