繁体   English   中英

SQL-使用子查询更新SQL

[英]Sql - Update sql with subquery

我试图用subquery更新mysql数据表。 有谁能指导我。 这些我尝试的代码。

UPDATE table_name SET meta_value = 'day' 
WHERE post_id IN (
    SELECT post_id FROM table_name 
    WHERE meta_key = '_min_date' AND meta_value='0') 
AND meta_key = '_min_date_unit'

使用一个join ,而不是:

Update table_name t join
       table_name tt
       on tt.post_id = t.post_id and tt.meta_key = '_min_date' and
          tt.meta_value = '0'
    set t.meta_value = 'day' 
where t.meta_key = '_min_date_unit';

MySQL有一个限制,即仅在使用joinupdate子句中引用要更新的表。 您的查询版本几乎可以在任何其他数据库中使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM