【发布时间】:2023-04-06 01:40:01
【问题描述】:
我被 UPDATE 困住了,可能是我搞砸了:
“proj_los”表中预期更新的行数为 32,但只有 8 行得到更新,除非我添加 AND 条件。
select count(*) from import.tmp_kk where root_id = '57b2e67b-5862-499a-a471-0f2f6b23440e';
> 32
1) 正确结果 -> 使用最后一个 AND 子句 (root_id = '57b2e67b-5862-499a-a471-0f2f6b23440e')
sql> update
proj_los as oko
set lo_root_id = import.tmp_kk.root_id
from import.tmp_kk
where oko.lo_id = import.tmp_kk.lo_id
and import.tmp_kk.root_id = '57b2e67b-5862-499a-a471-0f2f6b23440e'
[2018-10-05 18:13:59] 32 rows affected in 50 ms
select count(*) from proj_los where lo_root_id = '57b2e67b-5862-499a-a471-0f2f6b23440e';
> 32
2) 错误的结果
sql> update
proj_los as oko
set lo_root_id = import.tmp_kk.root_id
from import.tmp_kk
where oko.lo_id = import.tmp_kk.lo_id;
[2018-10-05 18:17:31] 174202 rows affected in 17 s 427 ms
select count(*) from proj_los where lo_root_id = '57b2e67b-5862-499a-a471-0f2f6b23440e';
> 8
有什么帮助吗?
【问题讨论】:
标签: sql database postgresql sql-update