- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想写一个 SQL 查询来重命名我在 AzerothCore 上的 Warlock Minion(s) ,但我的第一次尝试遇到了 MySQL 错误:
MySQL Error 1093 - Can't specify target table for update in FROM clause
USE `acore_characters`;
SET @IMP := 416;
SET @IMP_NAME = 'NewImpName';
SET @OWNER_NAME = 'NameOfMyWarlock';
UPDATE `character_pet` SET name = @IMP_NAME WHERE `id` IN
(SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @IMP);
最佳答案
在 this answer on stackoverflow 的帮助下以下现在有效。
--------------------------
-- Variant (A): Outdated
--------------------------
USE `acore_characters`;
-- Warlock pet creatures
SET @IMP := 416;
SET @VOIDWALKER := 1860;
SET @SUCCUBUS := 1863;
SET @FELHUNTER := 417;
SET @FELGUARD := 17252;
-- Names
SET @OWNER_NAME := 'MyWarlockName';
SET @IMP_NAME :='NewImpName';
SET @VOIDWALKER_NAME := 'NewVoidwalkerNamen';
SET @SUCCUBUS_NAME := 'NewSuccubusName';
SET @FELHUNTER_NAME := 'NewFelhunterName';
SET @FELGUARD_NAME := 'NewFelguardName';
-- Update Imp Name
UPDATE `character_pet` SET name = @IMP_NAME WHERE `id` IN
(SELECT s.`id` FROM (SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @IMP) s);
-- Update Voidwalker Name
UPDATE `character_pet` SET name = @VOIDWALKER_NAME WHERE `id` IN
(SELECT s.`id` FROM (SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @VOIDWALKER) s);
-- Update Succubus Name
UPDATE `character_pet` SET name = @SUCCUBUS_NAME WHERE `id` IN
(SELECT s.`id` FROM (SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @SUCCUBUS) s);
-- Update Felhunter Name
UPDATE `character_pet` SET name = @FELHUNTER_NAME WHERE `id` IN
(SELECT s.`id` FROM (SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @FELHUNTER) s);
-- Update Felguard Name
UPDATE `character_pet` SET name = @FELGUARD_NAME WHERE `id` IN
(SELECT s.`id` FROM (SELECT p.`id` FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME AND p.`entry`= @FELGUARD) s);
-- Show result
SELECT p.`id`, p.`entry`, p.`name`, c.`name` AS `owner_name`
FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNER_NAME;
我不喜欢额外的嵌套
SELECT
也不明白为什么没有它 MySQL 会提示,因为内部
SELECT
的结果不受外
UPDATE
影响.以下变体使用来自
the answer below 的建议并在
JOIN
上执行更新.遗憾的是我不能使用“多合一更新”方法,因为 AzerothCore 对 MySQL 的最低要求是 5.7,而
WITH ... VALUES
构造显然需要 8.x。
--------------------------
-- Variant (B): Current
--------------------------
USE `acore_characters`;
-- Names (parameters)
SET @OWNERNAME := 'MyWarlockName';
SET @IMPNAME :='NewImpName';
SET @VOIDWALKERNAME := 'NewVoidwalkerNamen';
SET @SUCCUBUSNAME := 'NewSuccubusName';
SET @FELHUNTERNAME := 'NewFelhunterName';
SET @FELGUARDNAME := 'NewFelguardName';
-- Warlock pet creatures (constants)
SET @IMP := 416;
SET @VOIDWALKER := 1860;
SET @SUCCUBUS := 1863;
SET @FELHUNTER := 417;
SET @FELGUARD := 17252;
-- Update Imp Name
UPDATE `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
SET p.`name` = @IMPNAME
WHERE p.`entry` = @IMP AND c.`name` = @OWNERNAME;
-- Update Voidwalker Name
UPDATE `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
SET p.`name` = @VOIDWALKERNAME
WHERE p.`entry` = @VOIDWALKER AND c.`name` = @OWNERNAME;
-- Update Succubus Name
UPDATE `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
SET p.`name` = @SUCCUBUSNAME
WHERE p.`entry` = @SUCCUBUS AND c.`name` = @OWNERNAME;
-- Update Felhunter Name
UPDATE `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
SET p.`name` = @FELHUNTERNAME
WHERE p.`entry` = @FELHUNTER AND c.`name` = @OWNERNAME;
-- Update Felguard Name
UPDATE `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
SET p.`name` = @FELGUARDAME
WHERE p.`entry` = @FELGUARD AND c.`name` = @OWNERNAME;
-- Show result
SELECT p.`id`, p.`entry`, p.`name`, c.`name` AS `owner_name`
FROM `character_pet` p INNER JOIN `characters` c ON p.`owner` = c.`guid`
WHERE c.`name` = @OWNERNAME;
关于mysql - 如何使用 SQL 语句重命名 AzerothCore 上的 Warlock Minions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68391175/
在 AzerothCore ,如何只允许创建角色并禁用游戏内角色连接? 最佳答案 如果你不想碰代码,你可以实现一个 mysql 触发器,每当在 characters 中创建一个新字符时。表,在 cha
我想知道您是否可以将authserver 和worldserver 放到后台。我知道芒果会这样做,因为最终艾泽拉斯核心是基于芒果的,所以我想知道艾泽拉斯核心是否仍然可以做到这一点。 最佳答案 或者我为
如何自动保持我的 fork 主分支与 AzerothCore 主分支同步? 最佳答案 你可以使用 GitHub Actions 来保持你的 fork 主分支同步: on: schedule:
我最近找到了 AzerothCore我想知道是否可以对其进行配置或修改,以便我可以与 friend 从头到尾玩整个 WLK(突袭)。 很多年前(超过 8 年)我用过 TrinityCore和 frie
我想要开发领域 (worldserver),它将使用我的 authserver(生产),这样我就可以实时测试我的开发代码。 此外,我希望只有当我的帐户级别 > 1 时才能连接到这个领域。所以 GM 或
更改星期几以重新加载英雄实例的问题。 始终是星期五的 04:00。 我正在尝试将配置放入行中: Instance.ResetTimeRelativeTimestamp = 其他日期之一: 155286
这个问题我想问很久了。您可以在服务器运行时进行数据库记录更新吗?实际上问题是不同的,在服务器运行时进行这些更新是否可取,或者关闭服务器,进行修改然后再次打开它是否更可取?谢谢。对于某些人来说,这似乎是
这个问题我想问很久了。您可以在服务器运行时进行数据库记录更新吗?实际上问题是不同的,在服务器运行时进行这些更新是否可取,或者关闭服务器,进行修改然后再次打开它是否更可取?谢谢。对于某些人来说,这似乎是
安装/更新时 AzerothCore有时会遇到错误,例如: [ERROR]: In mysql_stmt_prepare() id: 3, sql: [ERROR]: Unknown column '
为什么服务器端的一些数据仍然存储在DBC文件中,而不是SQL-DB中?特别是 - 咒语 (spells.dbc)。做什么的?我们的咒语中有很多错误,很难理解咒语出了什么问题,但更难找到咒语......
我正在尝试构建一个使用 SOAP RBAC (3.3.5a) 在 wow server 和 web portal 之间进行通信的 web 门户. AzerothCore 使用什么加密?和Trinity
如何启用 崩溃日志 , gdb 和 重启器 AzerothCore 服务器?我找不到有关此的任何信息,请帮助。 最佳答案 更新 28/04/2021 官方指南可在此处获得:https://www.az
你好,我在尝试使用 functions.sh 启动 db_assembler 时遇到问题,我在 Windows 10 和 MySQL 5.7 下 最佳答案 解决方案是进入 conf/config.sh
我一直在努力让 TrinityCore 启动并运行,与 Ubuntu 的恐怖作斗争,以便让事情正常运行。终于搞定了工作流程,完成了两个相关的项目,我打算开始修改代码。但我找到了艾泽拉斯核心,我很感兴趣
使用后.character changefaction xxx或 .character changerace xxx关于字符xxx我无法自定义和保存角色,因为它失败了: Could not chang
最初是通过这个github问题问到的: https://github.com/azerothcore/azerothcore-wotlk/issues/3527 将./.env.dist文件复制到./
我使用 install with Docker 全新安装了 Azerothcore方法。 我可以使用 SET realmlist 192.168.1.242 通过本地网络进行连接 让 docker 或
有没有人已经成功添加了Rochet2's Reforging script在 AC ?我的工作但不完全。在角色登录时,脚本应该在重铸(和装备)元素上重新应用奖励,但似乎“player->GetItem
我需要知道在哪里可以更改咒语的范围 - THAIL SMASH 71077 关于这个咒语,我在 C++ 代码中唯一能看到的是: events.ScheduleEvent(EVENT_TAIL_SMAS
我按照官方 installation guide for AzerothCore using Docker containers 在 docker 中运行 Azerothcore-WOTLK|我想知道
我是一名优秀的程序员,十分优秀!