2017-06-06 72 views
0

我有一個表項的屬性no(整數)和價格(整數),也是屬性no(整數)和項目(數組項目)的另一個表購物車。數組插入Postgres

我在項目中有一些記錄。

當我嘗試:

INSERT INTO myschema.cart VALUES(1,'{SELECT item from myschema.item}') 

我'得到錯誤格式錯誤的記錄文字。

我預計這會將myschema.item中的所有項目插入購物車記錄。

+0

'''表示字符串常量。 – zerkms

回答

0

你不能在這樣的字符串內寫入子查詢。

你需要做的是聚集item s轉換爲數組array_agg

INSERT INTO myschema.cart 
VALUES (1, (SELECT array_agg(item) FROM myschema.item)); 

或者

INSERT INTO myschema.cart 
SELECT 1, array_agg(item) FROM myschema.item; 
1

很難給你確切的說法不表結構等,但你可以選擇一個陣列:

INSERT INTO myschema.cart (id, item_ids) 
SELECT 1, array(SELECT id from myschema.item) 

這將se將項目表中的id放入數組中。

您可以通過書面測試出來:

select array(SELECT id from myschema.item)