多表更新

Posted neil-learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多表更新相关的知识,希望对你有一定的参考价值。

    最近在写SQL多表更新时遇到问题,网上找了找,几乎都是这样:

1.update  t1  set  t1.c2 =  t2.c2 
from   t2  where  t1.c1 =  t2.c1

2.update  t1  set  t1.c2  =  t2.c2
from  t1  inner  join  t2  on  t1.c1  = t2.c1

但是根本行不通,在mysql8.0版本的官网文档中查找时,只有关于将子查询作为派生表的做法:

UPDATE items, 
       (SELECT id FROM items 
        WHERE id IN 
            (SELECT id FROM items 
             WHERE retail / wholesale >= 1.3 AND quantity < 100)) 
        AS discounted 
SET items.retail = items.retail * 0.9 
WHERE items.id = discounted.id;

自己尝试了几次,MYSQL8.0版本的多表查询可以如此表示:

UPDATE t1,t2
SET t1.count = t1.count+1,t2.count = t2.count+1
WHERE t1.t1_id= t2.t2_id

可行。

以上是关于多表更新的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate的HQL多表查询

js常用代码片段(更新中)

css常用代码片段 (更新中)

python flask(多对多表查询)

SQL数据库怎么进行多表级联更新,求个存储过程

回归 | js实用代码片段的封装与总结(持续更新中...)