我正在尝试将此select语句转换为UPDATE语句:
SELECT a.option_value, b.option_value
FROM mydb.wp_options a
JOIN mydb.wp_options b
WHERE a.option_name = "siteurl"
AND b.option_name = "home"
我只想要a.option_value = b.option_value
我怀疑这可以通过基于连接的子查询来完成。结构如下:
col names: option_id, option_name, option_value
values: 1, siteurl, "http://dev.domain.com/"
values: 2, home, "http://www.domain.com"
所以我想用另一个域字段替换option_name =“siteurl”option_value =“dev.domain.com”字段,作为option_name =“home”中的值及其对应的option_value =“http:// www .domain.com”。
所以它看起来像是:
col names: option_id, option_name, option_value
values: 1, siteurl, "http://www.domain.com"
values: 2, home, "http://www.domain.com"
答案 0 :(得分:2)
您可以使用多表更新语法轻松实现此目的:
UPDATE mydb.wp_options a, mydb.wp_options b
SET a.option_value = b.option_value
WHERE a.option_name = "siteurl"
AND b.option_name = "home"
或者,使用子查询(不需要连接):
UPDATE mydb.wp_options
SET option_value = (
SELECT option_value
FROM mydb.wp_options
WHERE option_name = "home"
)
WHERE option_name = "siteurl"