Sql Postgres-管理绑定表中项目顺序的最佳方法

Sql Postgres-管理绑定表中项目顺序的最佳方法,sql,database,postgresql,Sql,Database,Postgresql,我有3个表:products、images和一个product\u images绑定表。我想让我的用户能够控制绑定表中图像的顺序,我想知道在db级别处理这个问题的最佳方法是什么 显而易见的答案是在绑定表中有一个位置列,其中每个产品的记录都有一个顺序递增的整数,用于标识记录在产品中的位置。图像。然而,我想知道是否有一个更好的方法,我还没有想到呢 我确信这个问题已经得到了回答,所以我为此道歉,但我很难找到它 更好的是非常模糊的术语。请描述您认为这种方法有什么错误,以及您希望通过选择更好的方法实现什么

我有3个表:
products
images
和一个
product\u images
绑定表。我想让我的用户能够控制绑定表中图像的顺序,我想知道在db级别处理这个问题的最佳方法是什么

显而易见的答案是在绑定表中有一个
位置
列,其中每个
产品
的记录都有一个顺序递增的整数,用于标识记录在
产品中的位置。图像
。然而,我想知道是否有一个更好的方法,我还没有想到呢


我确信这个问题已经得到了回答,所以我为此道歉,但我很难找到它

更好的是非常模糊的术语。请描述您认为这种方法有什么错误,以及您希望通过选择更好的方法实现什么功能。一般来说,更好的方法是保持简单:它应该简单明了,不需要找出你选择某种特殊方法来处理简单任务的原因。因此,请检查本文:你是对的,更好/最好是相当主观的术语。我对我最初设想的方法的感觉是,更新绑定表中的一项将导致需要更新绑定表中所有其他相关实体,也许这可以通过一些我不知道的漂亮的Postgres特性来避免。感谢反馈。这里的关键点是,关系表是一个无序的行集,因此:1)不存在任何排序,除非存在select的
order by
部分;2) 行之间不相关,对其他行“一无所知”。这就是为什么您需要显式地使用一些条件来提供排序:您可以使用新的排序位置更新所有更改的记录,或者您可以将排序信息存储为排序数组,然后执行unnest。