假设您要连接两个表,但您选择的列之一要用新值更新,您是否必须将其作为两个单独的语句来执行,或者您可以在选择查询中嵌入更新语句吗?
即
SELECT table1.xxx, table1.yyy, table2.zzz
FROM table1 JOIN
table2
ON table1.xxx = table2.zzz
WHERE table1.xxx = 'Y'
UPDATE table1
SET xxx = 'YES'
WHERE xxx = 'Y'
这是否有意义,或者您是否需要执行更新语句然后单独执行选择查询?
最佳答案
如果您需要连接来过滤需要更新的行,您可以使用 Update with join 例如:
UPDATE table1
JOIN table2 ON table1.xxx = table2.zzz
SET table1.xxx = 'YES'
WHERE table1.xxx = 'Y'
关于mysql - SQL - 更新 select 语句中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47123246/