表没有phpMyAdmin中的唯一列

 qqjayzhe 发布于 2023-01-29 11:07

这是我的表:

CREATE TABLE group_edits (
  vfile_id bigint(20) unsigned NOT NULL,
  editor_id int(10) unsigned NOT NULL,
  edits text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

没有唯一索引,因为一个editor_id可以编辑多个vfile_id,也可以通过多个editor_id编辑一个vfile_id.

phpMyAdmin 4.1.6不允许我编辑这个表说:

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

现在它让我觉得这样的桌子有什么问题吗?当您获取editor_id和vfile_id的值时,行是唯一的,而单独的列都不是唯一的.

我知道要修复它我可以添加

`ID` int(11) NOT NULL AUTO_INCREMENT,

但它并不反映我的数据库架构的设计,我想避免添加技巧只是为了使phpMyAdmin工作.

我的数据库设计是错误的还是phpMyAdmin?

1 个回答
  • 如果您完全确定可以创建(editor_id,vfile_id)的唯一主复合键,请继续执行此操作.

     ALTER TABLE group_edits ADD PRIMARY KEY (editor_id, vfile_id)
    

    你最好先使用phpmyadmin转储表的副本,这样你就可以恢复它了.

    这应该允许phpmyadmin让你更新表中的行.

    2023-01-29 11:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有