新版本的PHPMyAdmin使我无法编辑数据[duplicate]

im9ewurl  于 2022-11-09  发布在  PHP
关注(0)|答案(7)|浏览(265)

此问题在此处已有答案

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版

vu8f3i0k

vu8f3i0k1#

如果没有唯一键,就无法区分两个相同的记录是否存在。因此phpMyAdmin无法安全地编辑该表-您不知道哪一个最终会被编辑。您真的希望在该表中有重复的记录吗?

0s0u357o

0s0u357o2#

您所要做的就是添加一个唯一的列,比如一个名为id的列,其index = PRIMARY,就像pic一样,或者如果您已经有一个名为id的列,它们都是数字,只需将其设置为PRIMARY即可

6kkfgxo0

6kkfgxo03#

您可以只添加一个名为“id”的字段,并选中A_I选项。

m1m5dgzv

m1m5dgzv4#

我找到了一个解决方案,可能会对将来的某些人有所帮助,我有一个ID为的表,它不是主键,也不是自动增量,我添加了temp列,使其成为主键和自动增量,然后我编辑了ID列,然后我删除了temp列,之后我将id更改为主键和自动增量

e3bfsja2

e3bfsja25#

在检查AUTO_INCREMENT选项之前,请检查该列是否为INT而不是VARCHAR

q1qsirdb

q1qsirdb6#

我也遇到了同样的问题。在我自己的例子中,我已经有了一个id列。我删除了这个列并重新创建了它;这一次我把它设为主键,并勾选了A_I(即自动递增)。一切都很顺利。
注意:只有在更改ID不会影响您的工作时,您才能执行此操作。

e3bfsja2

e3bfsja27#

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

相关问题