2013-03-01 345 views
9

如何使用phpMyAdmin更新(或编辑)MySQL数据库中的视图。如何更新phpMyAdmin中的视图?

我这是一个从两个表由列的观点 - 我添加了一个新列的其中之一,但鉴于没有它。我无法找到用于获取此视图的MySQL查询(这很不明显) - 那么,如何编辑创建此视图的MySQL查询以向其添加新列?

+0

号它只是显示像'SELECT * FROM View'。 – MarcinWolny 2013-03-01 11:18:09

+0

@ F4r-20 - 你不明白。它不显示源表中的所有列。它显示的查询与视图相关,而不是源表。你知道观点如何工作? – MarcinWolny 2013-03-01 11:23:32

+0

哦,我现在看到了,好吧,我不好,我在那里错了。 – George 2013-03-01 11:33:48

回答

9

如何使用(你的观点被称为视图名称)

  1. SHOW CREATE VIEW viewname获得该视图的SQL,因为它是
  2. DROP VIEW viewname删除视图
  3. 从第一步修改SQL新列添加到SQL
  4. 运行修改后的SQL

那将造成ŧ >(选择) - 他与其他列(S)

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

+2

'SHOW CREATE VIEW'只显示'CREATE ALGORITHM = UNDEFINED DEFINER =根@ localho ...'(注意“...” - 不显示完整结果)< - 没有用处。 – MarcinWolny 2013-03-01 11:20:38

+0

听起来像phpMyAdmin没有显示整个查询结果。您可以尝试将他们的答案中提到的@ user1681542的查询导出为获取SQL,然后执行上述步骤2-4。 – Jason 2013-03-01 11:27:23

+0

你使用的是什么版本的phpMyAdmin? – Jason 2013-03-01 13:16:00

1

在PHPMYADMIN转到导出视图 '快速 - 只显示最少的选项' - >去。

这将会给你,你在一个文本文件,查看所做的创建语句或保存文本文件,你应该有所有的信息在那里。

3

要拍摄视图编辑/更新,我们使用了两种方式:

Step 1: 

select your view in phpmyadmin and click Export(make sure click check box of Structure& Add DROP VIEW) & GO.you'll see a CREATE VIEW query like as:CREATE ALGORITHM=UNDEFINED DEFINER=`dbname`@`localhost` SQL SECURITY DEFINER VIEW `vw_name` AS select ..etc..And then remove 'ALGORITHM.....to...DEFINER' part from this query and update/added required field/make changes to the query.and then execute modified view.` 


step 2: 

    Run the query: SHOW CREATE VIEW `vw_name` 
    Expand the result and choose Full Texts.   
    Copy entire contents of the Create View column. 
    Make changes to the query. 
    Run the query directly (with out the CREATE VIEW... syntax) to make sure it runs as you expect it to.