我的服务器管理员刚刚将PHPMyAdmin升级到v4.0.4.2。
现在我无法编辑下表中的行:
CREATE TABLE IF NOT EXISTS `product_options` (
`product_id` int(10) NOT NULL,
`option_id` int(10) NOT NULL,
KEY `product_id` (`product_id`,`option_id`)
)
当我浏览表中的数据时,PHPMyAdmin只返回此错误消息:
This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.
我不希望此表中有唯一的列,那么如何编辑数据呢?我可以改变一个设置吗?
非常感谢
MySQL v5.1.70
修改/溶液 的
我意识到它不一定是新的unique column
PHPMyAdmin希望我创建,而是unique index
。这意味着我的表的结构不必改变 - 我只需要添加一个唯一的索引,无论如何我都应该这样做。
答案 0 :(得分:16)
如果没有唯一键,则无法区分可能存在的两个相同记录。因此phpMyAdmin无法安全地编辑表格 - 你不知道哪些最终会被编辑。你真的想在这个表中有重复的记录吗?
答案 1 :(得分:11)
您要做的就是添加一个唯一的列,例如一个名为id的索引= PRIMARY,如图片,或者如果您已经有一个名为id的数字,那么只需将其设为PRIMARY
答案 2 :(得分:3)
您只需添加名称为“id”的字段,然后选中A_I选项。
答案 3 :(得分:0)
在检查AUTO_INCREMENT
选项之前,请检查该列是INT
而不是VARCHAR
。
答案 4 :(得分:0)
我找到了一个可能在将来帮助某人的解决方案,我有一个带有id的表,这不是主键而不是自动递增,我添加了temp
列,使其成为主要和自动递增,然后我编辑了id列,然后我删除了temp
列,之后我将id
更改为主要和自动增量
答案 5 :(得分:0)
我有同样的问题。在我自己的情况下,我已经有了一个id列。我放下了柱子并重新创建了它;这次我把它作为主键并勾选了A_I(即自动增量)。一切都很顺利。
注意:只有更改ID不会影响您的工作,才能执行此操作。
答案 6 :(得分:0)
根据我的经验,您有两个以上的主键,或者您没有任何主键。