使用其他列不同表中的数据更新一列

时间:2014-01-03 17:18:13

标签: mysql sql-update

我想将一个列中的列更新到另一个表中的列。两列具有相同的名称和相同的ID,并且已填充。我只需要更新两个表中匹配的ID(列ID) 因此,例如,如果两者都具有相同的column_id,则将column_x中table_1的所有值复制到column_x中的table_2

在其他网站的帮助下修复。

1 个答案:

答案 0 :(得分:0)

  

尝试:UPDATE table1 JOIN table2 ON column1.column_x = table2.column_x SET table2.id = table1.id;

看起来你混淆了要加入的列和要复制的列。你说的问题是:

  

如果两者都具有相同的column_id,则将column_x中table_1的所有值复制到column_x中的table_2

执行此操作的查询如下:

UPDATE table1 JOIN table2 ON table1.column_id = table2.column_id
SET table2.column_x = table1.column_x;

或稍微简洁一点:

UPDATE table1 JOIN table2 USING (column_id)
SET table2.column_x = table1.column_x;