当在做测试或者需求就是需要更新10条数据中的第二行到第八行的数据,那应该这么办?开始的时候我也是百思不得其解,也就是知道了ctid用法才解决了类似的问题。
下面就直接说一下例子,
一个简单的表mytest7,
"ctid"
"id"
"name_1"
"name_2"
"name_3"
"(0,1)"
"1"
"name_11"
"name_21"
"name_31"
"(0,2)"
"2"
"name_12"
"name_22"
"name_32"
"(0,3)"

在PostgreSQL中,当需要更新某张表中指定行的数据时,可以利用ctid这一特性。例如,要更新mytest8表中从第二行到第八行的name_3字段,可以先通过ctid筛选,再进行更新。但要注意,ctid会在数据更改后发生变化,因此在后续操作中可能需要结合row_number()函数确保正确选择行。
最低0.47元/天 解锁文章
1307

被折叠的 条评论
为什么被折叠?



