You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中能否从表1选取ID批量插入表2指定字段?

在PostgreSQL中实现固定值+查询结果的插入操作

完全可以实现你要的需求,但你写的SQL语法有问题——VALUES子句里不能直接嵌套SELECT查询。正确的做法是使用INSERT ... SELECT语法,直接把固定常量和查询结果组合起来插入目标表。

批量插入所有唯一ID

如果要把table_1里所有唯一的ID都插入table_2,每条记录搭配固定字符串值,用下面的SQL:

INSERT INTO table_2 (some_varchar_value, id_value_table_1)
SELECT DISTINCT 'some_varchar_value', id
FROM table_1;

DISTINCT会确保最终插入的id都是唯一的,固定字符串会自动对应每一条ID记录,实现批量插入。

只插入一条唯一ID

如果只需要从table_1里取任意一个唯一ID插入(比如第一条),可以加LIMIT 1:

INSERT INTO table_2 (some_varchar_value, id_value_table_1)
SELECT 'some_varchar_value', id
FROM table_1
WHERE id IS NOT NULL
LIMIT 1;

这里的WHERE id IS NOT NULL是为了避免插入空值,若你确定table_1的id不会为空,可以去掉这个条件。


内容的提问来源于stack exchange,提问作者ChlnooL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:27:01