此问题在此处已有答案:
This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available(17个答案)
7个月前关闭。
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 5.1.70版
7条答案
按热度按时间vu8f3i0k1#
如果没有唯一键,就无法区分两个相同的记录是否存在。因此phpMyAdmin无法安全地编辑该表-您不知道哪一个最终会被编辑。您真的希望在该表中有重复的记录吗?
0s0u357o2#
您所要做的就是添加一个唯一的列,比如一个名为id的列,其index = PRIMARY,就像pic一样,或者如果您已经有一个名为id的列,它们都是数字,只需将其设置为PRIMARY即可
6kkfgxo03#
您可以只添加一个名为“id”的字段,并选中A_I选项。
m1m5dgzv4#
我找到了一个解决方案,可能会对将来的某些人有所帮助,我有一个ID为的表,它不是主键,也不是自动增量,我添加了
temp
列,使其成为主键和自动增量,然后我编辑了ID列,然后我删除了temp
列,之后我将id
更改为主键和自动增量e3bfsja25#
在检查
AUTO_INCREMENT
选项之前,请检查该列是否为INT
而不是VARCHAR
。q1qsirdb6#
我也遇到了同样的问题。在我自己的例子中,我已经有了一个id列。我删除了这个列并重新创建了它;这一次我把它设为主键,并勾选了A_I(即自动递增)。一切都很顺利。
注意:只有在更改ID不会影响您的工作时,您才能执行此操作。
e3bfsja27#
根据我的经验,你有两个以上的主键或你没有任何主键。