虽然存在主键,但表是只读的

koaltpgm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(557)

我无法使用mysql workbench(或类似软件,如toad edge)更新数据库中表的值:
尽管主键存在,但表是只读的。
只有极少数时候“read only”标签不存在,mysql workbench允许我更新表字段值,但是如果出现这种情况,只要我运行另一个查询(或者运行同一个查询两次),就会再次出现“read only”标签。

3vpjnl9f

3vpjnl9f1#

这完全取决于您执行的查询类型。如果是带有简单where命令的简单单表查询,则不应将其标记为“只读”。但是,如果查询包含聚合、group by或JOIN,则它将被标记为只读,因为尝试更新显示的行应被视为不明确。
至少workbench允许在默认情况下编辑简单的where过滤器。其他IDE,如sqlyog,将任何手动查询的结果标记为只读。但是,如果直接编辑数据是安全的,它可以被重写并进行评估,如果不安全,它将保持为只读。
如果不是这样,则可能是您用于连接的用户没有更新或插入权限。

相关问题