工作台MySQL:表不可编辑

工作台MySQL:表不可编辑,mysql,workbench,Mysql,Workbench,我有下表: CREATE TABLE `cat_matches` ( `from_cat` int(11) NOT NULL, `to_cat` int(11) NOT NULL, `tag` char(10) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`), KEY `cat_matches_ibfk_1` (`from_ca

我有下表:

CREATE TABLE `cat_matches` (
  `from_cat` int(11) NOT NULL,
  `to_cat` int(11) NOT NULL,
  `tag` char(10) DEFAULT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `cat_matches_ibfk_1` (`from_cat`),
  KEY `cat_matches_ibfk_2` (`to_cat`),
  CONSTRAINT `cat_matches_ibfk_1` FOREIGN KEY (`from_cat`) REFERENCES `category` (`id`),
  CONSTRAINT `cat_matches_ibfk_2` FOREIGN KEY (`to_cat`) REFERENCES `category` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2519 DEFAULT CHARSET=latin1 

在许多其他线程中,人们回答“在Workbench中,表必须有一个PK才能编辑”。但是正如您所看到的,这个表包含一个名为id的列,它是PK,并且仍然是不可编辑的。为什么?

请注意,如果有一个主键引用一组列,那么有一个唯一的键引用同一组列是完全多余的。主键意味着一个唯一的约束。是的,好的,唯一的键是表的早期版本的剩余。因为它是多余的,所以我就把它放在那里了。但是,是的,删除它会更干净。您是以具有表上更新权限的用户身份连接的吗?感谢您的检查,我也测试了这一点,即使我以没有插入/更新/删除权限的用户身份连接,它仍然允许我编辑行,但是当我点击Apply时,它会给我错误,因为我缺少priv。如果该行不可编辑,则应该在窗格的右下角有一个图标。它有一个标签“只读”和一个小图标。手册上说你可以将鼠标悬停在图标上,工具提示解释了为什么它是只读的。但我只是测试了一下,没有看到任何工具提示(使用Workbench 6.1.6)。