9

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

我得到了一个由两个表中的列组成的视图 - 我在其中一个表中添加了一个新列,但视图没有它。我找不到用于获取此视图的 MySQL 查询(它非常晦涩) - 那么如何编辑创建此视图的 MySQL 查询以向其中添加新列?

4

5 回答 5

9

如何使用(您的视图称为视图名称)

  1. SHOW CREATE VIEW viewname按原样获取视图的 SQL
  2. DROP VIEW viewname删除视图
  3. 修改第一步中的 SQL 以将新列添加到该 SQL
  4. 运行修改后的 SQL

这将创建带有附加列的视图

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

于 2013-03-01T11:18:34.493 回答
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.
于 2013-11-28T06:03:28.313 回答
2

您还可以使用CREATE OR REPLACE VIEW, 来避免删除视图的步骤:

  • show create view viewname. 在“创建视图”列中查找定义
  • 使用以下命令添加新列:CREATE OR REPLACE VIEW
于 2018-08-22T14:38:30.150 回答
2

更简单的方法

大多数情况下,无法编辑视图等是由于 DEFINER 设置为 root@localhost,如果您来自 Web 主机控制面板,则该用户不是您。

  1. 单击左上角的主页(房屋图标),将您的用户名复制到右侧。
  2. 单击左侧的视图 > 结构 > 编辑视图并进行编辑。
  3. 将您的用户名粘贴到“root@localhost”的位置,然后单击 Go。

这已经在 PHPMyAdmin 4.9.0.1 上进行了测试,它也可以在早期和更高版本上运行。PHPMyAdmin 似乎会在会话的其余部分记住您的用户名,以便您可以自由编辑。

于 2020-03-10T13:34:45.533 回答
1

在 phpMyADmin 上转到导出 ->(选择)'快速 - 仅显示最小选项' -> GO。

这将为您提供您在文本文件中所做的创建语句,查看或保存该文本文件,您应该在那里拥有所有信息。

于 2013-03-01T11:19:07.220 回答