根据ID在另一个表的MySQL更新表
问题描述:
这是我试过根据ID在另一个表的MySQL更新表
update site
set value_id = 4464551
where (select id from base
where name = 'myName' and
discriminator = 'abc' and
system_id = 001)
我想要什么是
- 更新的trget网站value_id其中id =(内select语句)
我有什么
- 它在网站中的所有行更新
问题
- 我怎样才能得到一个的ID内的SELECT语句的回报?
答
以下查询应该可以工作。
UPDATE site
SET value_id = 4464551
WHERE site.id = (
SELECT id
FROM base
WHERE name 'myName' AND
discriminator = 'abc' AND
system_id = 001
)
或者,如果你希望多行被更新:
UPDATE site
SET value_id = 4464551
WHERE site.id IN (
SELECT id
FROM base
WHERE name 'myName' AND
discriminator = 'abc' AND
system_id = 001
)
答
你也可以得到你想要的东西,而无需使用内的SQL语句,例如:
update site, base
set site.value_id = 4464551
where
base.name = 'myName' and
base.discriminator = 'abc' and
base.system_id = 001 and
site.id = base.id