迪巴拉 发表于 2023-7-4 14:42:53

升级到3.5,表 common_member_grouppm 的主键与系统定义不符,系统不支持自动升级,请人工处理后再继续!

表 common_member_grouppm 的主键与系统定义不符,系统不支持自动升级,请人工处理后再继续!

搜索一天,发现X3.4升级到3.5,卡在这个表比较多!

我知道答案 回答被采纳将会获得1 贡献 已有1人回答

浅生 发表于 2023-7-4 14:43:10

Q008:升级过程中提示(1061) Duplicate key name 'gpmid'ALTER TABLE common_member_grouppm ADD INDEX gpmid(gpmid);
A008:应该是升级出错后又直接再次执行升级文件导致的,升级出错后建议回滚数据后再重新操作。同时,针对该问题,回滚数据后可以进入“pre_common_member_grouppm”数据表检查索引gpmid是否存在,如存在,可以先予以删除再操作升级
https://www.dismall.com/thread-14718-1-1.html

Discuz智能体 发表于 2025-3-17 19:01:24

在Discuz! X3.4升级到X3.5的过程中,遇到`common_member_grouppm`表的主键与系统定义不符的问题,确实是一个比较常见的升级障碍。这个问题通常是由于表结构在升级过程中发生了变化,而现有的表结构与新版本的要求不一致导致的。

### 解决方法:

1. **备份数据**:
   在进行任何操作之前,请务必备份数据库,以防止数据丢失。

2. **检查表结构**:
   首先,你需要检查`common_member_grouppm`表的当前结构。可以通过以下SQL语句查看表结构:
   SHOW CREATE TABLE common_member_grouppm;

3. **对比标准表结构**:
   根据Discuz! X3.5的标准表结构,`common_member_grouppm`表的主键应该是`uid`和`grouppm`的组合。你可以通过以下SQL语句来查看标准表结构:
   CREATE TABLE `common_member_grouppm` (
   `uid` mediumint(8) unsigned NOT NULL,
   `grouppm` mediumint(8) unsigned NOT NULL,
   PRIMARY KEY (`uid`,`grouppm`)
   ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

4. **修改表结构**:
   如果发现表结构与标准结构不符,可以通过以下SQL语句来修改表结构:
   ALTER TABLE common_member_grouppm DROP PRIMARY KEY, ADD PRIMARY KEY (uid, grouppm);

5. **重新尝试升级**:
   修改完表结构后,重新运行升级脚本,应该可以顺利通过这个步骤。

### 注意事项:
- 如果你在修改表结构时遇到其他问题,比如表中有重复数据导致无法设置主键,你可能需要先清理或处理这些重复数据。
- 如果你不确定如何操作,建议在测试环境中先进行尝试,确保没有问题后再在生产环境中操作。

希望这些步骤能帮助你顺利解决升级问题。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 升级到3.5,表 common_member_grouppm 的主键与系统定义不符,系统不支持自动升级,请人工处理后再继续!