将随机结果数更新为相同的数字结果



我正在尝试更新另一个表中的列,这意味着:

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;

我确定这是不正确的,只是它不是逻辑,但找不到合乎逻辑的答案。

甚至替换也可以工作而不是更新,所以任何都可以工作。

你需要JOINUPDATE

UPDATE creature_template ct 
INNER JOIN creature c
ON c.id = ct.entry 
SET ct.lootid  = c.id
WHERE c.map = 389;

最新更新