📖 character_declinedname 表
角色名称变格表,为俄语等语系提供角色名称的语法变格形式。
📋 表概述
character_declinedname 表用于支持俄语客户端中角色名称的语法变格(declension)。俄语等斯拉夫语系中,名词在不同语法格中需要变化词尾。该表存储了角色的五种变格形式,用于在游戏文本中正确显示角色名。
- 主键:(guid)
- 引擎:InnoDB
- 关联表:characters(guid)
📊 表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
guid | int UNSIGNED | 0 | 角色全局唯一标识 |
genitive | varchar(15) | '' | 属格(二格):"谁的"/"什么的" |
dative | varchar(15) | '' | 与格(三格):"给谁"/"向什么" |
accusative | varchar(15) | '' | 宾格(四格):动作的直接对象 |
instrumental | varchar(15) | '' | 工具格(五格):"用什么"/"与谁一起" |
prepositional | varchar(15) | '' | 前置格(六格):"关于谁"/"在哪里" |
🔍 重要字段详解
俄语语法六格体系
俄语名词根据在句子中的作用变化词尾,共有六种格。例如角色名 "Иван" 在不同上下文中可能变为 "Ивана"(属格)、"Ивану"(与格)等。没有正确变格的文本在俄语中读起来不自然。
非俄语客户端的处理
对于中文、英文等非变格语言的客户端,这五个字段通常为空字符串。该表仅在俄语客户端(ruRU)中有实际用途。其他语系的服务器可以不使用此表。
💡 SQL查询示例
查询某个角色的名称变格数据
SELECT c.name AS 原名, dn.genitive, dn.dative,
dn.accusative, dn.instrumental, dn.prepositional
FROM character_declinedname dn
JOIN characters c ON dn.guid = c.guid
WHERE dn.guid = 12345;
批量检查有角色名但无变格数据的记录
SELECT c.guid, c.name
FROM characters c
LEFT JOIN character_declinedname dn ON c.guid = dn.guid
WHERE dn.guid IS NULL;
❓ 常见问题
Q: 中文服务器需要这个表吗?
不需要。中文没有语法变格的概念。该表主要为俄语客户端设计。在中英文服务器上,该表可以为空或不存在。
Q: 如何为一个已存在的角色添加变格数据?
使用 INSERT 语句添加:INSERT INTO character_declinedname (guid, genitive, dative, accusative, instrumental, prepositional) VALUES (12345, '变格1', '变格2', '变格3', '变格4', '变格5');