sql - 生成uuid,然后从另一个表插入数据
问题描述
我在 Postgres 中有 2 个表
主要的 | 实体 |
---|---|
ID | ID |
姓名 | 姓名 |
main_id |
我需要为实体生成 id,从 main 获取名称和 id 并插入到实体表中
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
推荐阅读
- javascript - Angular 有类似 window.addEventListener 的功能吗?
- google-sheets - 当 [value if error] 设置为 "" 时,=IFERROR 不返回空单元格
- angular - 管道 shareReplay 与 ReplaySubject.observableOf 的 Observable
- java - UX 中这些“进度圈”设计的正确术语是什么?
- http - 浏览器在重定向时不会为 localhost 保存 cookie
- python - tox 不读取 setup.cfg
- python - 我如何将 face_recognition.face_distance 结果转换为字符串然后返回
- node.js - 如何使用promise在循环后获取数据
- python - 安装 pip 时出错。扫描三引号字符串文字时的 EOF
- c++ - 找不到-lMagick++-6.Q16