【发布时间】:2014-03-02 03:17:57
【问题描述】:
这是我的桌子:
CREATE TABLE group_edits (
vfile_id bigint(20) unsigned NOT NULL,
editor_id int(10) unsigned NOT NULL,
edits text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
没有唯一索引,因为一个editor_id可以编辑多个vfile_id,一个vfile_id也可以被多个editor_id编辑。
phpMyAdmin 4.1.6 不允许我编辑此表:
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.
现在让我觉得这样的桌子有什么问题吗?当您采用 editor_id AND vfile_id 的值时,行是唯一的,而单独的列都不是唯一的。
我知道要修复它我可以添加
`ID` int(11) NOT NULL AUTO_INCREMENT,
但它不反映我的数据库架构的设计,我想避免添加技巧只是为了使 phpMyAdmin 工作。
是我的数据库设计错误还是 phpMyAdmin?
【问题讨论】:
-
我不会将添加
ID列称为“技巧”。这就是我在这种情况下的建议。 -
@RocketHazmat 从我的应用程序而不是 phpMyAdmin 的角度来看,是否有任何理由添加
ID列? -
@RocketHazmat 是的,但我绝不会在任何查询中尊重这个专栏——这就是为什么我犹豫它是否有用。感谢您指出更多阅读!
标签: mysql phpmyadmin