解决scheme:此表格不包含唯一列。 网格编辑,checkbox,编辑,复制和删除function不可用

这不是一个问题,而是我发现自己产生的问题/问题和解决scheme。 我认为这将是分享的礼貌,因为没有一个完整的工作解决scheme,我可以find。

在phpMyAdmin中产生的错误是:

“此表格不包含唯一的列,网格编辑,checkbox,编辑,复制和删除function不可用。”

有几种工作解决scheme取决于您的具体情况。

例如,只要所有AI或唯一标识符字段都是唯一的,那么您可以简单地修改表格并确保这是主键并设置为唯一值。

我用我的一张桌子上的解决scheme解决了这个问题。

另一个表具有多个作为主字段的AI int值,但有多个相同types的值。

这个简单的解决方法是在表的最后添加一列作为Unique AI Int。 基本上所有的MySQL都在说每个logging需要一个唯一的值来区分行。

希望这是有帮助的。

我一直在面对这个问题。

原因是你的表没有主键字段

我有一个简单的解决scheme:将字段设置为主键以适合您的业务逻辑的特定字段。

例如,我有数据库thesis_db和field thesis_id ,我会按下Primary(键图标)来设置thesis_id成为主键字段:

在这里输入图像说明

这不是一个错误。 PhpMyAdmin只是告诉你,结果集中没有唯一的ID列。 根据您发送的查询types,这是所需的行为。

这不是说MySQL需要一个唯一的ID,如果结果集中任何列的组合都是唯一的,这些列的值可以用在UPDATE或DELETE查询中。 这是phpMyAdmin,它说,它没有足够的信息提供您通常在具有唯一ID的结果集中看到的checkbox和button。

我的情况是不一样的 这个问题只针对PHPMyAdmin。 我下载了几个其他pipe理工具(Adminer,MySQLWorkbench,HeidiSQL等),同样的数据库在所有这些工作正常。

我已经定义了所有的索引,主键和唯一键,并且仍然出现错误。 升级到MySQL 5.6后(这个版本和以前的版本不一样),我得到了这个。

原来,PMA与大写的表名有关系。 PMA无法识别具有大写表名称的密钥。 一旦我将它们改为小( ALTER TABLE mytable ENGINE=INNODB – 我使用INNODB – 对于每个表格都没有改变任何东西),我可以正常访问。 我在使用UniformServer的Windows系统上。

只需创build一个新列,将Name设置为任何你喜欢的,将Type设置为INT选中A_I

图 A_Icheckbox代表AUTO_INCREMENT ,这实际上意味着在新列中自动分配序列号(见下文)。

  column1 | column2 | id ----------------------- value | value | 1 ----------------------- value | value | 2 ----------------------- value | value | 3 ----------------------- value | value | 4 

这个列本质上是phpMyAdmin删除行的参考。 如有必要,点击这个新列的唯一button,虽然这是自动发生的。 按照上面的步骤,你不应该再有错误消息,并且button应该出现在phpMyAdmin编辑行!

在我的情况下,错误发生在phpmyadmin 4.5.1版本,当我设置lower_case_table_names = 2并有一个大写字母的表名,该表有一个主键设置为自动递增,但仍显示错误。 当我将表名改为全部小写时,问题停止了。

我最近遇到了同样的问题,在查找重复数据后,我只能通过在表上设置(缺less)主键来修复它。 希望这可以帮助

这个问题帮助我确定了为什么phpMyAdmin拒绝我​​的网格编辑等问题。 在一些桌子上。 我只是忘了宣布我的主键,并在我的“为什么这张桌子应该和邻居不同”解决schemesearch过程中进行监督。

我只是想对OP自我回答下面的反应:

另一个表具有多个作为主字段的AI int值,但有多个相同types的值。

这个简单的解决方法是在表的最后添加一列作为Unique AI Int。 基本上所有的MySQL都在说每个logging需要一个唯一的值来区分行。

这实际上是我的情况,但绝对不需要添加任何列:如果您的主键是2个字段的组合(例如在多对多关系中的联结表),那么简单地声明它:
– 在phpyAdmin中inputeiter,只需在“在[x]列创build索引”中input“2”,然后select您的2列
– 或ALTER TABLE mytable ADD PRIMARY KEY(mycol1,mycol2)

运行Query后直接修改时出现此错误。 原来,从完全相同的查询进行查看后,我能够修改值。

一个简单的解决办法是去SQL选项卡,只是简单地放在代码中

 ALTER TABLE `tablename` ADD PRIMARY KEY (`id`); 

假设你有一个名为id的行。

我遇到同样的问题,每当我发射SELECT查询与特定的列,虽然列的主要是在表中。 我试图在标准的wordpress“posts”表中select性地selectlogging。 ID列已经是主要和唯一的..

只需指定主/唯一列名称将不能解决此问题。 您必须指定完整的列名称,如“posts.id”(tablename.columnname),告诉PMAselect特定列并显示编辑等。

我的PMA是4.3.8。 让我知道如果这有助于..