DBAtlas · Атлас эксплуатации баз данных

42P02: undefined_parameter

PostgreSQL

Что это значит?

Запрос ссылается на несуществующий параметр. PostgreSQL сообщает, что указанный позиционный параметр (например, $2) не определён. Относится к классу 42 (syntax_error_or_access_rule_violation).

Почему возникает?

Ссылка на большее число параметров, чем передано, в операторе, подготовленном с помощью PREPARE (например, передаются два параметра, а используется $3); пропуски в нумерации параметров; либо неверные индексы $N в динамически склеенном SQL.

Как исправить

Убедитесь, что номера параметров соответствуют количеству передаваемых значений; проверьте, что они начинаются с $1 и идут без пропусков. Полностью определите типы параметров в операторе PREPARE: PREPARE p(int, text) AS SELECT ... WHERE a=$1 AND b=$2; Если используете ORM/драйвер, сравните количество привязанных параметров с заполнителями в запросе.

Открыть в DBAtlas →

Ещё по этой СУБД