·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

DZ安装成功后,缺少两个表

230 2
发表于 2022-6-29 20:11:03 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
DZ安装成功后,缺少两个表 安装,成功,成功后,缺少,两个

这两个数据库表,没有自动安装成功

一、pre_common_member_grouppm
(1075) Incorrect table definition; there can be only one auto column and it must be defined as a key
  1. CREATE TABLE common_member_grouppm ( uid mediumint(8) unsigned NOT NULL DEFAULT '0', gpmid smallint(6) unsigned NOT NULL AUTO_INCREMENT, `status` tinyint(1) NOT NULL DEFAULT '0', dateline int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (uid,gpmid) ) ENGINE=MYISAM DEFAULT CHARSET=utf8
复制代码

二、pre_forum_post
(1075) Incorrect table definition; there can be only one auto column and it must be defined as a key
  1. CREATE TABLE forum_post ( pid int(10) unsigned NOT NULL, fid mediumint(8) unsigned NOT NULL DEFAULT '0', tid mediumint(8) unsigned NOT NULL DEFAULT '0', `first` tinyint(1) NOT NULL DEFAULT '0', author varchar(15) NOT NULL DEFAULT '', authorid mediumint(8) unsigned NOT NULL DEFAULT '0', `subject` varchar(80) NOT NULL DEFAULT '', dateline int(10) unsigned NOT NULL DEFAULT '0', message mediumtext NOT NULL, useip varchar(15) NOT NULL DEFAULT '', `port` smallint(6) unsigned NOT NULL DEFAULT '0', invisible tinyint(1) NOT NULL DEFAULT '0', anonymous tinyint(1) NOT NULL DEFAULT '0', usesig tinyint(1) NOT NULL DEFAULT '0', htmlon tinyint(1) NOT NULL DEFAULT '0', bbcodeoff tinyint(1) NOT NULL DEFAULT '0', smileyoff tinyint(1) NOT NULL DEFAULT '0', parseurloff tinyint(1) NOT NULL DEFAULT '0', attachment tinyint(1) NOT NULL DEFAULT '0', rate smallint(6) NOT NULL DEFAULT '0', ratetimes tinyint(3) unsigned NOT NULL DEFAULT '0', `status` int(10) NOT NULL DEFAULT '0', tags varchar(255) NOT NULL DEFAULT '0', `comment` tinyint(1) NOT NULL DEFAULT '0', replycredit int(10) NOT NULL DEFAULT '0', position int(8) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (tid,position), UNIQUE KEY pid (pid), KEY fid (fid), KEY authorid (authorid,invisible), KEY dateline (dateline), KEY invisible (invisible), KEY displayorder (tid,invisible,dateline), KEY `first` (tid,`first`) ) ENGINE=MYISAM DEFAULT CHARSET=utf8
复制代码


求助,如何解决?
我要说一句 收起回复

评论2

浅生Lv.8 发表于 2022-6-29 20:11:49 | 查看全部
mysql版本多少?
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-16 03:16:09 | 查看全部
在Discuz安装过程中出现表创建失败的问题,通常是由于自增字段(AUTO_INCREMENT)未正确设置为主键或复合主键结构不符合MySQL规范。以下是针对两个表的解决方案:

---

### **一、pre_common_member_grouppm 表错误**
#### 原错误信息:
  1. (1075) Incorrect table definition; there can be only one auto column and it must be defined as a key
复制代码


#### 问题分析:
- `gpmid` 字段设置了 `AUTO_INCREMENT`,但未将其单独定义为主键。
- 当前主键为复合主键 `PRIMARY KEY (uid,gpmid)`,而自增字段必须直接关联键。

#### 修复方案:
修改建表语句,将 `gpmid` **单独设为主键**,并保留复合索引:
  1. CREATE TABLE pre_common_member_grouppm (
  2.   uid mediumint(8) unsigned NOT NULL DEFAULT '0',
  3.   gpmid smallint(6) unsigned NOT NULL AUTO_INCREMENT,
  4.   `status` tinyint(1) NOT NULL DEFAULT '0',
  5.   dateline int(10) unsigned NOT NULL DEFAULT '0',
  6.   PRIMARY KEY (gpmid),          -- 将 gpmid 设为主键
  7.   KEY uid (uid)                 -- 可选:为 uid 添加普通索引
  8. ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
复制代码


---

### **二、pre_forum_post 表错误**
#### 原错误信息:
  1. (1075) Incorrect table definition; there can be only one auto column and it must be defined as a key
复制代码


#### 问题分析:
- `position` 字段是自增列,但主键为复合主键 `PRIMARY KEY (tid,position)`。
- MySQL要求自增列必须是唯一键(如单独主键),不能是复合主键的一部分。

#### 修复方案:
根据Discuz设计规范,`position` 字段用于表示帖子在主题中的位置,**不应为自增列**。正确做法是移除 `AUTO_INCREMENT` 属性:

  1. CREATE TABLE pre_forum_post (
  2.   pid int(10) unsigned NOT NULL,
  3.   fid mediumint(8) unsigned NOT NULL DEFAULT '0',
  4.   tid mediumint(8) unsigned NOT NULL DEFAULT '0',
  5.   -- ... 其他字段省略 ...
  6.   position int(8) unsigned NOT NULL,  -- 移除 AUTO_INCREMENT
  7.   PRIMARY KEY (tid,position),
  8.   UNIQUE KEY pid (pid),
  9.   -- ... 其他索引保留 ...
  10. ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
复制代码


---

### **三、操作步骤**
1. **手动执行修正后的SQL**  
   通过phpMyAdmin或MySQL客户端,直接运行修正后的建表语句。

2. **重新运行Discuz安装程序**  
   确保其他表和数据正常初始化。

3. **验证表结构**  
   检查 `pre_common_member_grouppm` 和 `pre_forum_post` 是否成功创建,字段和索引是否符合预期。

---

### **四、注意事项**
- **MySQL版本兼容性**:此问题常见于MySQL 5.7+,因其对自增字段的约束更严格。
- **官方表结构参考**:建议从Discuz官方安装包中提取正确的SQL定义(位于 `upload/install/discuz.sql`)。
- **数据一致性**:手动建表后,需确认Discuz的其他功能(如用户组私信、帖子分页)是否正常。

如果仍有问题,可检查Discuz安装包的完整性,或临时切换至MySQL 5.6环境完成安装。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:13.59.120.26,GMT+8, 2025-4-1 05:38 , Processed in 0.322060 second(s), 79 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表