使用WITH...AS语句遇语法错误,插入数据获取最后ID失败排查
解决PostgreSQL插入数据时的语法错误并获取自增ID
从你遇到的ERROR: syntax error at end of input Position: 890错误来看,你的INSERT语句末尾存在语法不完整问题,比如遗漏了分号、未闭合括号,或者RETURNING子句格式错误。
在PostgreSQL中,插入数据并获取自动生成的主键ID,正确的写法是在INSERT语句末尾添加RETURNING子句,示例如下:
INSERT INTO your_table (col1, col2, col3) VALUES ('val1', 'val2', 'val3') RETURNING id; -- 替换为你表中的自增主键字段名
你需要检查以下几点:
- 确认字段列表和VALUES列表的元素数量完全匹配
- 所有括号都正确闭合,没有遗漏
- 语句末尾添加分号作为终止符
- 如果使用
RETURNING,确保指定的字段名拼写正确,没有多余的符号或空格
调整后的语句既可以完成数据插入,又能直接返回生成的ID,用于后续查询。
内容的提问来源于stack exchange,提问作者Josef
相关产品推荐
相关产品推荐

