如何解决MySQL查询时出现当前选择不包含唯一列的报错
MySQL可视化工具查询结果无法使用编辑功能解决方案
问题原因
你遇到的提示是MySQL可视化管理工具(如phpMyAdmin、Navicat、DBeaver等)触发的:
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available
虽然你的diffdate表已将time_id设为唯一主键,但你当前的查询语句仅返回了计算生成的difdate字段,结果集中没有包含唯一行标识符,工具无法定位需要编辑的对应表行,因此禁用了网格编辑、删除等相关功能。
解决方法
- 调整SELECT查询语句,将唯一主键
time_id加入返回字段即可,修改后的查询语句如下:
SELECT a.time_id, INTERVAL a.seconds SECOND + CONCAT( DATE_FORMAT(CURDATE(), '%Y-%m-%d'), ' ', TIME_FORMAT(CURTIME(), '%H:%i:%s')) difdate FROM diffdate a
执行上述修改后的语句后,结果集包含唯一主键time_id,工具就可以正常识别行对应关系,启用全部编辑相关功能。
- 如果你不需要在可视化工具界面直接编辑结果,也可以直接执行对应的UPDATE、DELETE语句操作目标数据,无需调整原有查询语句。
内容的提问来源于stack exchange,提问作者Ramil E. Andaya
相关产品推荐
相关产品推荐

