我正在尝试从另一个表更新列,这意味着:
SELECT DISTINCT id FROM creature WHERE map = 389;
此SQL将给我这个结果:
11323
11322
11324
11520
11321
我想要更新的是生物模板战利品= 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;
我确定这是不正确的,只是因为这不是逻辑,但却找不到逻辑答案。
即使REPLACE也可以代替UPDATE起作用,所以任何东西都可以起作用。
答案 0 :(得分:1)
您需要JOIN
和UPDATE
:
UPDATE creature_template ct
INNER JOIN creature c
ON c.id = ct.entry
SET ct.lootid = c.id
WHERE c.map = 389;