我有一个返回
的查询主键|值
我想更新我的数据,其中主键=主键和值=另一个值。所以基本上我有
SELECT
id,
custom_value
FROM custom
JOIN user
USING (user_id)
WHERE id = 45
AND custom_name = "stuff";
这会产生
id | custom_value
1 | stuff
2 | stuff 2
然后我想用
更新现有的数据库UPDATE table SET field = custom_value WHERE id = id;
或者,如果我使用第一行,那么
UPDATE table SET field = 'stuff' WHERE id = 1;
我怎么能这样做?
因此...
SELECT UPDATE table
id, -> WHERE id = id
custom_value -> SET field = custom_value
FROM custom
JOIN user
USING (user_id)
WHERE id = 45
AND custom_name = "stuff";
选择数据,然后使用该数据更新另一个表。
答案 0 :(得分:0)
两个步骤:
create temporary table tmp_tbl as select .... your select goes here;
然后
update table, tmp_tbl
set table.field = tmp_tbl.custom_value
where table.id = tmp_tbl.id
然后,可选择清理不需要的数据:
drop table tmp_tbl
(或者让MySQL在会话关闭时自动删除它。)