表概述

guild_member 表存储每个公会成员的基本信息,包括成员角色、公会等级和备注。

核心概念:一个角色只能属于一个公会(guid唯一约束)。此表通过 guildid 关联到 guild 表,通过 rank 关联到 guild_rank 表确定权限。

表结构

字段名数据类型默认值说明
guildidINT UNSIGNEDNOT NULL公会ID → guild.guildid
guidINT UNSIGNEDNOT NULL角色GUID(唯一索引)→ characters.guid
rankTINYINT UNSIGNEDNOT NULL公会等级ID → guild_rank.rid
pnoteVARCHAR(31)''公共备注(所有成员可见)
offnoteVARCHAR(31)''官员备注(仅官员可见)

重要字段详解

rank - 公会等级

详细说明:决定成员在公会中的权限级别。常用等级
  • 0 = 会长(每个公会唯一)
  • 1 = 副会长/官员
  • 2~ = 根据公会自定义等级
  • 权限由 guild_rank 表的 rights 字段控制

pnote / offnote - 备注

详细说明:两种备注有不同的可见性。
  • pnote (Public Note):所有公会成员可见,通常记录角色主/副天赋
  • offnote (Officer Note):仅官员和会长可见,用于记录隐私信息
SQL示例:查看公会成员 → SELECT gm.*, c.name FROM guild_member gm JOIN characters c ON gm.guid=c.guid WHERE gm.guildid=1;

SQL查询示例

-- 统计各公会成员数 SELECT guildid, COUNT(*) AS member_count FROM guild_member GROUP BY guildid ORDER BY member_count DESC;
-- 查看公会所有官员(rank=1) SELECT gm.guid, c.name, gm.pnote FROM guild_member gm JOIN characters c ON gm.guid = c.guid WHERE gm.guildid = 1 AND gm.rank = 1;
-- 将角色移出公会 DELETE FROM guild_member WHERE guid = 角色GUID;

常见问题

Q: 会长辞职后公会怎么办?

会长(rank=0)是唯一存在。如果没有会长,公会无法正常运作。建议将其他成员提升为会长后再退会。

Q: 官员备注能存储多少字符?

VARCHAR(31) 限制为31个字符。如需更多信息,建议使用外部工具或公会网站记录。