arrays - 在 Postgres 数组中排序有多可靠?

标签 arrays postgresql postgresql-9.5

我有 store 表:

CREATE TABLE store(
  id SERIAL,
  product_ids INT[],
  product_prices NUMERIC[]
)

例如:

id | product_ids | product_prices 
----------------------------------
1  | {12, 4}     | {100, 202.5}

也就是说,ID为12的商品价格为100,ID为4的商品价格为202.5 product_ids 数组中的 ID 是唯一的。

如果产品 id=4 有新价格,例如 199,我会这样更新它:

UPDATE store SET 
product_prices [idx(product_ids , 4)] = 199
WHERE id = ?

这些数组中元素的顺序非常重要。我从不对这些数组进行排序,也许只是使用 array_append() 添加一个新的 product_id 和适当的价格。

所以问题是:Postgres 数组中的顺序有多可靠?有没有可能有一天 Postgres 会以某种方式对数组进行排序或交换元素位置本身?

附言我需要使用数组来实现这一点,我不想使用包含 store_idproduct_idproduct_price 等列的其他表。

最佳答案

不,Postgres 不会自己改变数组的顺序。如果数据库那样做,我们都会遇到很多麻烦。

关于arrays - 在 Postgres 数组中排序有多可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34372760/

相关文章:

java - JPA CriteriaBuilder 日期操作

Postgresql like into if 子句

java - Postgis 点数据类型未持久化到数据库中

postgresql - 在 postgres 中删除单个枚举值

sql - 计算每一行的频率

java - Android 游戏 - 尝试创建数组失败?

arrays - Bash - 使用数组删除文件

javascript - 比较日期并创建计数 javascript

python - 从 numpy 数组中删除数字

postgresql - 如何过滤 RETURNING *?