MySQL Workbench编辑SELECT查询结果更改不保留,如何实现持久化编辑?
当然有办法!MySQL Workbench其实支持直接在SELECT查询结果里编辑数据并永久保存到数据表中,只是默认需要满足一些条件,或者调整操作方式就行。我来给你详细说下:
直接编辑SELECT查询结果并永久保存
要让查询结果可编辑并保存更改,得先满足两个核心前提,然后按步骤操作:
- 前提条件:
- 你的SELECT查询必须只针对单个数据表(不能是多表JOIN、带聚合函数
SUM/COUNT、DISTINCT的查询,也不能是不可更新的视图) - 目标数据表必须有主键或唯一约束/索引(Workbench需要靠这个精准定位要更新的行)
- 你的SELECT查询必须只针对单个数据表(不能是多表JOIN、带聚合函数
- 操作步骤:
- 运行你的SELECT查询后,在结果集面板的顶部工具栏,找到那个像钢笔的「Edit Table Data」图标,点击它
- 这时候结果里的单元格就会变成可编辑状态,直接双击你要修改的单元格输入新内容就行
- 修改完成后,一定要点击结果面板顶部的「Apply」(对勾图标),Workbench会自动生成对应的
UPDATE语句并执行,把更改永久写入数据库
当查询不满足可编辑条件时的替代方案
如果你的查询是多表关联、带复杂逻辑的,没法直接编辑结果,也有更便捷的方式:
- 先通过查询定位到要修改的行,记下该行的主键值
- 在左侧「Navigator」面板找到目标数据表,右键选择「Table Data Editor」打开表的直接编辑界面
- 用界面顶部的搜索框筛选出目标行,直接修改后点击「Apply」保存即可
常见误区提醒
很多人说修改后重新查询看不到变化,大概率是没点击Apply保存——修改后的内容只是临时存在Workbench的本地缓存里,必须点击应用按钮才能同步到数据库哦!
内容的提问来源于stack exchange,提问作者Serge
相关产品推荐
相关产品推荐

