我想用不同的值更新单个列的所有行。例如,我想用具有单个列输出的select语句作为输出获得的值更新所有id。基本上我想将输出结果作为列添加到表中。
答案 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);