我有一個表項的屬性no(整數)和價格(整數),也是屬性no(整數)和項目(數組項目)的另一個表購物車。數組插入Postgres
我在項目中有一些記錄。
當我嘗試:
INSERT INTO myschema.cart VALUES(1,'{SELECT item from myschema.item}')
我'得到錯誤格式錯誤的記錄文字。
我預計這會將myschema.item中的所有項目插入購物車記錄。
我有一個表項的屬性no(整數)和價格(整數),也是屬性no(整數)和項目(數組項目)的另一個表購物車。數組插入Postgres
我在項目中有一些記錄。
當我嘗試:
INSERT INTO myschema.cart VALUES(1,'{SELECT item from myschema.item}')
我'得到錯誤格式錯誤的記錄文字。
我預計這會將myschema.item中的所有項目插入購物車記錄。
你不能在這樣的字符串內寫入子查詢。
你需要做的是聚集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;
很難給你確切的說法不表結構等,但你可以選擇一個陣列:
INSERT INTO myschema.cart (id, item_ids)
SELECT 1, array(SELECT id from myschema.item)
這將se將項目表中的id放入數組中。
您可以通過書面測試出來:
select array(SELECT id from myschema.item)
'''表示字符串常量。 – zerkms