Old*_*est 55 php mysql database phpmyadmin
这不是一个问题,而是我发现的自生问题/问题和解决方案.我认为分享是不错的礼貌,因为我找不到完整的工作解决方案.
phpMyAdmin中生成的错误是:
"此表格不包含唯一列.网格编辑,复选框,编辑,复制和删除功能不可用."
根据您的具体情况,有几种可行的解决方案.
例如,只要您的所有AI或唯一标识符字段都是唯一的,您就可以简单地更改表并确保这是主键并设置为唯一值.
我在其中一张桌子上用这个解决方案解决了这个问题.
另一个表有多个AI int值,它们是Primary字段,但是有多个相同类型的值.
对此的简单修复就是将一列添加到表的末尾,作为Unique AI Int.基本上所有MySQL都说它需要在每条记录中使用唯一值来区分行.
希望这有用.
nhu*_*uvy 36
我一直面临这个问题.
原因是您的表没有主键字段.
我有一个简单的解决方案:将字段设置为适合您的业务逻辑的特定字段的主键.
例如,我有数据库thesis_db
和字段thesis_id
,我将按下按钮Primary(键图标)设置thesis_id
为主键字段:
dr *_*chu 20
这不是错误.PhpMyAdmin只是通知您,结果集中没有唯一的ID列.根据您发送的查询类型,这是所需的行为.
MySQL并不是说它需要一个唯一的ID,如果结果集中任何列的组合是唯一的,那么这些列的值可以在UPDATE或DELETE查询中使用.phpMyAdmin表示它没有足够的信息为您提供通常在具有唯一ID的结果集中看到的复选框和按钮.
Rav*_*avi 12
我的情况不同.此问题仅适用于PHPMyAdmin.我下载了几个其他管理工具(Adminer,MySQLWorkbench,HeidiSQL等),同样的数据库在所有这些工作中都运行良好.
我已经定义了所有索引,主键和唯一键,但仍然会收到错误.我升级到MySQL 5.6之后得到了这个(与以前的版本不同).
事实证明,PMA在资本中存在表名称的问题.PMA无法识别具有大写表名称的密钥.一旦我将它们更改为小(ALTER TABLE mytable ENGINE=INNODB
- 我使用INNODB - 为每个表执行此操作而不更改任何其他内容),我能够正常访问.我在使用UniformServer的Windows系统上.
Isa*_*dni 12
只需创建一个新列,将其设置Name
为您喜欢的任何内容,设置Type
为INT
并选中显示的框A_I
.
的
A_I
复选框表示AUTO_INCREMENT
,这实质上意味着序列号在该新列自动分配(见下文).
column1 | column2 | id
-----------------------
value | value | 1
-----------------------
value | value | 2
-----------------------
value | value | 3
-----------------------
value | value | 4
Run Code Online (Sandbox Code Playgroud)
此列基本上充当phpMyAdmin从中删除行的参考.如有必要,请单击此新列的唯一按钮,尽管这对我来说是自动发生的.执行上述步骤后,您将不再出现错误消息,并且应该出现用于在phpMyAdmin中编辑行的按钮!
这就是您摆脱该通知并能够打开这些网格单元进行编辑的方法
1)点击“结构”
2) 转到您想要作为主键的字段(通常是第一个字段),然后单击该字段的“PRIMARY”和“INDEX”字段,并接受 PHPMyadmin 的弹出问题“确定”。
3)垫在后面。