【问题标题】:MySQL: SELECT and UPDATE in one statement [duplicate]MySQL:在一个语句中选择和更新 [重复]
【发布时间】:2014-07-22 13:42:16
【问题描述】:

我有:选择一些配对。第一列是table 中行的id,第二列是应该分配给该行的新值。

-- the first query
CREATE TABLE tmp;
SELECT row_id, new_value
FROM [not essential tables and joins];  //PSEUDOCODE

-- another queries
FOR EACH tmp //PSEUDOCODE
  UPDATE table SET value = new_value WHERE id = row_id;

-- QUESTION: CAN I MERGE SELECT AND UPDATE IN ONE QUERY? 
-- I want avoid creating temporary table.

问题:遍历表(如上例)会降低代码的清晰度和速度。

问题: *如何在单个查询中做同样的事情

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    我认为您正在寻找更新与其他表连接的表(虽然不确定)。你可以做类似的事情

    UPDATE tmp a 
        JOIN sometable b ON a.col = b.col 
        AND a.id = b.row_id 
    SET a.value = b.new_value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多