新版本的PHPMyAdmin阻止了我能够编辑数据

时间:2013-08-14 08:49:21

标签: mysql phpmyadmin

我的服务器管理员刚刚将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。这意味着我的表的结构不必改变 - 我只需要添加一个唯一的索引,无论如何我都应该这样做。

7 个答案:

答案 0 :(得分:16)

如果没有唯一键,则无法区分可能存在的两个相同记录。因此phpMyAdmin无法安全地编辑表格 - 你不知道哪些最终会被编辑。你真的想在这个表中有重复的记录吗?

答案 1 :(得分:11)

您要做的就是添加一个唯一的列,例如一个名为id的索引= PRIMARY,如图片,或者如果您已经有一个名为id的数字,那么只需将其设为PRIMARY

enter image description here

答案 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)

根据我的经验,您有两个以上的主键,或者您没有任何主键。