我使用Spring JPA和Postgresql编写API。
更新后声明它会影响记录的行号。
更新的记录2的顺序将转到最后一个订单。
我不想更改行号
如何在不更改行号的情况下进行更新?
答案 0 :(得分:2)
数据库表是无序元组集(也称为 relation ),因此您不能依赖从{{1}返回的行的顺序}。
如果需要,您需要使用SELECT * FROM tablename
子句强制执行排序。
更新后行的位置发生变化的内部原因是PostgreSQL实际上写了一个新版本的行,在这种情况下会在末尾附加。但是你也不能依赖它:如果表格中间有空闲空间,可以在那里添加新的行版本。