如何使用 phpMyAdmin 在 MySQL 数据库中更新(或编辑)视图。
我得到了一个由两个表中的列组成的视图 - 我在其中一个表中添加了一个新列,但视图没有它。我找不到用于获取此视图的 MySQL 查询(它非常晦涩) - 那么如何编辑创建此视图的 MySQL 查询以向其中添加新列?
如何使用 phpMyAdmin 在 MySQL 数据库中更新(或编辑)视图。
我得到了一个由两个表中的列组成的视图 - 我在其中一个表中添加了一个新列,但视图没有它。我找不到用于获取此视图的 MySQL 查询(它非常晦涩) - 那么如何编辑创建此视图的 MySQL 查询以向其中添加新列?
如何使用(您的视图称为视图名称)
SHOW CREATE VIEW viewname
按原样获取视图的 SQLDROP VIEW viewname
删除视图这将创建带有附加列的视图
http://dev.mysql.com/doc/refman/5.0/en/show-create-view.html
为了获取编辑/更新视图,我们使用了两种方式:
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.
您还可以使用CREATE OR REPLACE VIEW
, 来避免删除视图的步骤:
show create view viewname
. 在“创建视图”列中查找定义CREATE OR REPLACE VIEW
更简单的方法
大多数情况下,无法编辑视图等是由于 DEFINER 设置为 root@localhost,如果您来自 Web 主机控制面板,则该用户不是您。
这已经在 PHPMyAdmin 4.9.0.1 上进行了测试,它也可以在早期和更高版本上运行。PHPMyAdmin 似乎会在会话的其余部分记住您的用户名,以便您可以自由编辑。
在 phpMyADmin 上转到导出 ->(选择)'快速 - 仅显示最小选项' -> GO。
这将为您提供您在文本文件中所做的创建语句,查看或保存该文本文件,您应该在那里拥有所有信息。