【发布时间】:2014-05-12 00:07:56
【问题描述】:
我想用不同的值更新单个列的所有行。例如,我想使用从具有单列输出的 select 语句中获得的值更新所有 id。基本上我想将该输出结果作为列添加到表中。
【问题讨论】:
-
例如,我有一个表,其中包含一列工资。默认情况下,该特定列的值为零,行为五。现在我想为它添加不同的值。这些值取自 select 语句给出的输出。
标签: mysql sql-update insert-update
我想用不同的值更新单个列的所有行。例如,我想使用从具有单列输出的 select 语句中获得的值更新所有 id。基本上我想将该输出结果作为列添加到表中。
【问题讨论】:
标签: mysql sql-update insert-update
如果子查询从另一个表返回单个值,您可以这样做
UPDATE t1 SET str=(SELECT value FROM t2 WHERE t2.id=t1.id LIMIT 1);
【讨论】:
假设这两个表(例如 tableA 和 tableB)有某种关系,你可以这样做:
UPDATE tableA, tableB
SET tableA.columnToBeUpdated = tableB.columnSourceOfData
WHERE tableA.id = tableB.idOfTableA
我只是对列使用占位符名称,如果您提供数据库架构,答案会更准确
【讨论】: