我正在尝试根据以下查询在MySQL中设置列值。
select * from table1 t1
join table2 t2
on t1.id = u.t1_id
and t2.status = 'verified'
and not exists (
select 1
from table2 t2_2
where t2.t1_id = t2_2.t1_id
and t2_2.updated_at > t2.updated_at
)
此查询返回我想要的结果,但是当我尝试添加
时SET t1.column_k = 'some value'
到最后,我收到的错误只是简单地说You've got a syntax error near set t1.column_k....
检查与您的MySQL
版本对应的手册。
我真的很想知道如何在这个查询的结果中包含一个集合,并且我在制定它时遇到了麻烦。任何帮助或想法?
由于self join
,我认为这很难让我感到困惑。最终的计划是将此查询与set命令一起移植到migration file in rails
一旦我运行它。
答案 0 :(得分:0)
您需要update
。 Select
不用于设置值。
update table1 t1 join
table2 t2
on t1.id = u.t1_id and
t2.status = 'verified' and
not exists (select 1
from table2 t2_2
where t2.t1_id = t2_2.t1_id and
t2_2.updated_at > t2.updated_at
)
set t1.column_k = 'some value';