生成 uuid 然后从另一个 table 插入数据
Generate uuid and then insert data from another table
我在 Postgres 中有 2 个 table
主要
实体
id
id
姓名
姓名
main_id
我需要为实体生成 id,从 main 中获取名称和 id 并插入到实体中 table
INSERT INTO entity (select uuid_generate_v4(), name, main_id)
SELECT name, id FROM main
但是我得到这个错误
ERROR: syntax error at or near "SELECT"
我知道重点是我插入的参数比收到的要多,但我不知道如何进一步处理
第一对括号定义了 INSERT 语句的目标列。您需要将 UUID 生成移动到 SELECT 部分:
INSERT INTO entity (id, name, main_id)
SELECT uuid_generate_v4(), name, id
FROM main
我在 Postgres 中有 2 个 table
主要 | 实体 |
---|---|
id | id |
姓名 | 姓名 |
main_id |
我需要为实体生成 id,从 main 中获取名称和 id 并插入到实体中 table
INSERT INTO entity (select uuid_generate_v4(), name, main_id)
SELECT name, id FROM main
但是我得到这个错误
ERROR: syntax error at or near "SELECT"
我知道重点是我插入的参数比收到的要多,但我不知道如何进一步处理
第一对括号定义了 INSERT 语句的目标列。您需要将 UUID 生成移动到 SELECT 部分:
INSERT INTO entity (id, name, main_id)
SELECT uuid_generate_v4(), name, id
FROM main