gpt4 book ai didi

sql - PostgreSQL 更新的行多于 where 条件?

转载 作者:行者123 更新时间:2023-11-29 14:20:49 24 4
gpt4 key购买 nike

我有以下简单的 SQL 更新:

update t2 set col = 2 
from t2, t1
where t2.id = t1.id
and t1.name = 'test';

但是 t2 中的所有行都更新了!即不仅仅是带有 id 的那个,其中 name 是“测试”,我如何在 Postgres 中实现这一点?

最佳答案

from t1,t2 你得到的太多了这样做:

update t2 set col = 2 
from t1
where t2.id = t1.id
and t1.name = 'test';

如果您必须在 from 别名中包含 t2 并在 where.. 中连接所有三个表

update t2 as t2_up set col = 2 
from t2 as t2_from , t1
where t2_from.id = t1.id
and t2_up.id = t2_from.id
and t1.name = 'test';

关于sql - PostgreSQL 更新的行多于 where 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27762433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com