MySQL视图无法更新:phpMyAdmin与Workbench编辑权限问题求助
无法在phpMyAdmin和MySQL Workbench中更新MySQL视图问题
我无法在phpMyAdmin和MySQL Workbench中更新几乎任何视图,哪怕是不含内连接的视图(这是我的最终目标)也无法编辑/更新。
- phpMyAdmin提示:
当前选择不包含唯一列。网格编辑、编辑、复制和删除功能可能会导致意外行为。 - MySQL Workbench右下角显示:
只读
我知道已有很多相关帖子,但大多仅链接到MySQL 8手册,手册定义了可更新视图的条件,可我仍不清楚遗漏了什么。
复现步骤
- 在MySQL 8中创建简单表:
CREATE TABLE `tbl_test` ( `id` int NOT NULL AUTO_INCREMENT, `name` text, PRIMARY KEY (`id`), UNIQUE KEY `id_UNIQUE` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
- 插入数据:
INSERT INTO `tobh_gis`.`tbl_test` (`name`) VALUES ('test');
- 创建基于该表的视图(表包含唯一列id):
CREATE VIEW `view_test` AS select `tbl_test`.`id` AS `id`, `tbl_test`.`name` AS `name` from `tbl_test`;
- 在phpMyAdmin中尝试编辑数据:进入“浏览”页面,顶部会出现警告。
- 在MySQL Workbench中尝试编辑数据:选择视图进行编辑,右下角会显示"只读"。
相关问题说明
相关问题虽相近但未说明如何创建可在phpMyAdmin或MySQL Workbench中更新的视图:
- 无法创建可更新的MySQL视图
- 尽管视图可更新,但更新MySQL视图失败
- MySQL Workbench编辑表数据为只读(不相关,因为我的示例包含主键)
内容的提问来源于stack exchange,提问作者DSM
相关产品推荐
相关产品推荐

