簡體   English   中英

PostgreSQL:INSERT INTO語句和選擇查詢

[英]postgresql: INSERT INTO statement with select query

我必須在現有client_id列的table中插入一些數據,所以我將select與insert一起使用

INSERT into 'my_table' (column1, client_id, column3) VALUES (val1,select distinct client_id from 'my_table', val3)

我需要來自同一表my_table client_id,並且我需要在insert語句中使用client_ids。

SELECT DISTINCT client_id FROM my_table給了我113 client_id,所以我想使用上述方法為每個113客戶插入一些行。

我做了這個查詢

INSERT INTO client_notification_preferences (client_id, object_type , frequency,created_at,updated_at) SELECT DISTINCT client_id, 'ClientShipment',1, CURRENT_TIMESTAMP , CURRENT_TIMESTAMP FROM client_notification_preferences;

但這給了我這個錯誤 在此處輸入圖片說明

 create_table "client_notification_preferences", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
t.uuid     "client_id"
t.string   "object_type"
t.integer  "frequency"
t.datetime "created_at",  null: false
t.datetime "updated_at",  null: false

結束

如果val1和val3是變量,而client_id是my_table中的字段,則可以從以下代碼中使用。

 INSERT into 'my_table' (column1, client_id, column3) select distinct val1, 
    client_id,val3 from 'my_table'

例如

INSERT into 'my_table' (column1, client_id, column3) select distinct 1, client_id,2 from 'my_table'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM