我必须在现有table
列的client_id
中插入一些数据,所以我将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_id。
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
结束
答案 0 :(得分:4)
如果val1和val3是变量,而client_id是my_table中的字段,则可以从下面的代码中使用。
synchronized
例如
INSERT into 'my_table' (column1, client_id, column3) select distinct val1,
client_id,val3 from 'my_table'