无法编辑 Table 因为没有主键,无法创建键因为有重复值

Can't Edit Table Because there's no Primary Key, Can't Create Key Because there are Duplicate Values

标题说明了一切 - MySql 数据库中有一个 table 我希望能够编辑 - 所以我尝试分配一个主键。不幸的是,出于某种原因,有一个重复的记录,这意味着我无法创建主键 - 并且有点麻烦 22 我无法更改或删除记录,因此我无法创建密钥,因为没有一把钥匙(无限期)。

有什么简单的方法可以解决这个问题,除了插入新字段并用唯一数据填充它、创建键然后更改重复记录并删除新字段 - 或者清除 table ?

我认为您的解决方案在这里是最简单的 -- 创建一个新列用作临时主键。

原因是 phpMyAdmin 需要一个密钥才能进行编辑,因为没有密钥就很难确保编辑不会影响错误的行。无论如何,我建议完全按照您的建议进行操作,以便您可以在 phpMyAdmin 中进行编辑,然后将主键移至正确的列。

编辑: 顺便说一下,phpMyAdmin 已经添加了一些支持(从版本 4.5.0 开始)在没有主键存在的情况下进行编辑,但是 table 需要有足够的唯一信息才能工作并且不能保证可用于每个结构,因此最好的方法(在使用 phpMyAdmin 和一般 MySQL 数据完整性方面)是有一个主键。

置身于你config.inc.php

$cfg['RowActionLinksWithoutUnique'] = true;

但请记住,使用它并不安全。