根据 hstore 列的 select 插入

Insert based on select of hstore column

尝试将 hstore (postgreql) 中的值插入到更通用的 table

在我的车里table,我有这些字段

id
fields (hstore)

我的商店table,我有这些字段

id
key
value
car_id
date

如何在插入键中循环到我的字段 属性,值到我的商店 table。

有没有办法用 select 命令来做到这一点?

示例数据:

insert into car values
(1, 'brand=>ford, color=>yellow'),
(2, 'brand=>volvo, mileage=>50000, year=>2015');

使用函数 each(hstore) 获取 hstore 列的 (key, value) 对:

select id, key, value
from car, each(fields);

 id |   key   | value  
----+---------+--------
  1 | brand   | ford
  1 | color   | yellow
  2 | year    | 2015
  2 | brand   | volvo
  2 | mileage | 50000
(5 rows)    

插入命令可能如下所示:

insert into store (car_id, key, value)
select id, key, value
from car, each(fields);