You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新Azerothcore后启动失败 报MySQL未知字段innTriggerId类错误

AzerothCore更新后数据库字段缺失问题解决方案

该问题由服务端代码版本与数据库结构版本不匹配导致,即便自动更新提示数据库已为最新,也可能是迁移文件路径配置错误、本地迁移文件被修改、历史自定义表结构冲突导致自动更新流程跳过了缺失字段的添加。

解决步骤

1. 同步最新官方迁移文件

回到AzerothCore源码根目录,执行以下命令恢复官方默认的SQL迁移文件,拉取最新代码:

git checkout -- data/sql/
git pull origin master

确保你当前使用的是官方master分支的无修改版本。

2. 修正worldserver自动更新配置

打开worldserver.conf,检查以下两项配置:

  • 确认Updates.EnableDatabases = 7已正确设置
  • 将Updates.SourcePath修改为你本地源码data/sql目录的绝对路径,比如源码存放在/home/azerothcore/时,配置为:
    Updates.SourcePath = "/home/azerothcore/data/sql"
    

避免相对路径导致程序无法识别最新的迁移文件。

3. 手动补全缺失字段(可选快速修复)

如果不需要走完整自动更新流程,可以直接在MySQL的characters库执行以下SQL语句补全缺失字段:

ALTER TABLE `characters` ADD COLUMN `innTriggerId` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `grantableLevels`;
ALTER TABLE `character_spell_cooldown` ADD COLUMN `category` MEDIUMINT UNSIGNED NOT NULL DEFAULT 0 AFTER `spell`;
ALTER TABLE `item_loot_storage` ADD COLUMN `item_index` TINYINT UNSIGNED NOT NULL DEFAULT 0 AFTER `itemid`;
ALTER TABLE `pet_spell_cooldown` ADD COLUMN `category` MEDIUMINT UNSIGNED NOT NULL DEFAULT 0 AFTER `spell`;

4. 重新编译启动

完成上述操作后,重新编译服务端,再启动worldserver即可解决报错。

额外注意

如果你使用db_assembler工具生成数据库,需要先拉取最新的SQL文件后再重新生成完整库,不要使用之前缓存的旧SQL数据包。


内容的提问来源于stack exchange,提问作者WAFFO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:54:01