我无法使用mysql workbench(或类似软件,如toad edge)更新数据库中表的值:尽管主键存在,但表是只读的。只有极少数时候“read only”标签不存在,mysql workbench允许我更新表字段值,但是如果出现这种情况,只要我运行另一个查询(或者运行同一个查询两次),就会再次出现“read only”标签。
3vpjnl9f1#
这完全取决于您执行的查询类型。如果是带有简单where命令的简单单表查询,则不应将其标记为“只读”。但是,如果查询包含聚合、group by或JOIN,则它将被标记为只读,因为尝试更新显示的行应被视为不明确。至少workbench允许在默认情况下编辑简单的where过滤器。其他IDE,如sqlyog,将任何手动查询的结果标记为只读。但是,如果直接编辑数据是安全的,它可以被重写并进行评估,如果不安全,它将保持为只读。如果不是这样,则可能是您用于连接的用户没有更新或插入权限。
1条答案
按热度按时间3vpjnl9f1#
这完全取决于您执行的查询类型。如果是带有简单where命令的简单单表查询,则不应将其标记为“只读”。但是,如果查询包含聚合、group by或JOIN,则它将被标记为只读,因为尝试更新显示的行应被视为不明确。
至少workbench允许在默认情况下编辑简单的where过滤器。其他IDE,如sqlyog,将任何手动查询的结果标记为只读。但是,如果直接编辑数据是安全的,它可以被重写并进行评估,如果不安全,它将保持为只读。
如果不是这样,则可能是您用于连接的用户没有更新或插入权限。