Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将随机结果数更新为相同的结果数_Mysql_Sql_Mariadb - Fatal编程技术网

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

Mysql 将随机结果数更新为相同的结果数,mysql,sql,mariadb,Mysql,Sql,Mariadb,我正在尝试更新另一个表中的列,这意味着: SELECT DISTINCT id FROM creature WHERE map = 389; 此SQL将给出以下结果: 11323 11322 11324 11520 11321 我想要的是更新bioture_template lootid=11323,其中entry=11323,如下所示: UPDATE creature_template SET lootid = 11323 WHERE entry = 11323 我试过这个: UPDAT

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

SELECT DISTINCT id FROM creature WHERE map = 389;
此SQL将给出以下结果:

11323
11322
11324
11520
11321
我想要的是更新bioture_template lootid=11323,其中entry=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;
我确信这是不正确的,只是它不符合逻辑,但找不到符合逻辑的答案


甚至“替换”也可以代替“更新”,因此任何更新都可以工作。

您需要
使用
更新加入

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