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

在pgAdmin查询窗口执行带参数SQL时出现ERROR: there is no parameter $1错误

PostgreSQL中"there is no parameter $1"报错解决

你写的SQL查询逻辑本身没问题,但在pgAdmin 4普通查询窗口执行时出现ERROR: there is no parameter $1错误,原因是:

$1、$2是**PostgreSQL预编译语句(Prepared Statement)**的参数占位符,这种写法主要用于Java、Python等应用程序代码中,由程序在执行时动态传入参数值。但pgAdmin的普通查询执行模式不会识别这种占位符,也不会提示你输入参数,直接执行就会报错找不到对应参数。

两种解决方法:

  • 直接替换占位符为实际值:把$1和$2换成具体的用户ID和状态值,注意字符串类型的值要加单引号,比如:
    SELECT a.type, SUM(coalesce(a.value, 0)) AS value
    FROM app.activity a
    WHERE a.user_id = 1001 and a.status = 'completed'
    GROUP BY a.type
    ORDER BY a.type
    
  • 使用pgAdmin的参数查询功能:在pgAdmin中,不要直接点"执行"按钮,而是右键查询窗口,选择Execute with parameters(或使用对应快捷键),此时会弹出参数输入窗口,分别填入$1和$2对应的数值/字符串,即可正常执行查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:19:51