如何在所有行中使用不同的值更新列?

时间:2014-04-01 09:44:18

标签: mysql sql-update insert-update

我想用不同的值更新单个列的所有行。例如,我想用具有单个列输出的select语句作为输出获得的值更新所有id。基本上我想将输出结果作为列添加到表中。

2 个答案:

答案 0 :(得分:2)

假设两个表(例如tableA和tableB)有某种关系,你可以这样做:

UPDATE tableA, tableB
SET tableA.columnToBeUpdated = tableB.columnSourceOfData
WHERE tableA.id = tableB.idOfTableA

我只使用列的占位符名称,如果您为db schema提供答案可以更精确

答案 1 :(得分:0)

如果子查询从另一个表中返回单个值,则可以执行此操作

  

UPDATE t1 SET str =(SELECT value FROM t2 WHERE t2.id = t1.id LIMIT 1);