我正在尝试更新另一个表中的列,这意味着:
SELECT DISTINCT id FROM creature WHERE map = 389;
这个SQL会给我这个结果:
11323
11322
11324
11520
11321
我想要的是更新creature_template lootid = 11323,其中条目= 11323,因此如下所示:
UPDATE creature_template SET lootid = 11323 WHERE entry = 11323
我试过这个:
UPDATE creature_template SET lootid =
(SELECT DISTINCT id
FROM creature
WHERE map = 389) WHERE lootid = entry;
我确定这是不正确的,只是它不是逻辑,但找不到合乎逻辑的答案。
甚至替换也可以工作而不是更新,所以任何都可以工作。
你需要JOIN
UPDATE
:
UPDATE creature_template ct
INNER JOIN creature c
ON c.id = ct.entry
SET ct.lootid = c.id
WHERE c.map = 389;