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

PostgreSQL:如何在INSERT时为指定列复用相同值

批量插入时复用同一字段值的正确SQL写法

你原来的语法错误在于INSERT语句的列定义部分不能直接赋值,列列表里只能写字段名,不能加=1这类赋值操作。以下是几种正确的实现方式:

方法1:VALUES子句中重复指定固定值

这是最直观的写法,适合数据量不大的场景:

INSERT INTO choices (q_id, c_text)
VALUES (1, 'Milky Way'),
       (1, 'Galactus'),
       (1, 'Omicron Persei 8');

方法2:结合数组与unnest函数(PostgreSQL专属)

如果需要插入大量选项,不想重复写q_id值,可以用PostgreSQL的unnest函数拆分数组:

INSERT INTO choices (q_id, c_text)
SELECT 1, unnest(ARRAY['Milky Way', 'Galactus', 'Omicron Persei 8']);

方法3:通过子查询生成多行数据

用子查询生成选项文本,再统一关联固定的q_id:

INSERT INTO choices (q_id, c_text)
SELECT 1, c_text
FROM (
    VALUES ('Milky Way'), ('Galactus'), ('Omicron Persei 8')
) AS temp_table (c_text);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:02:02