DBAtlas · Atlas d'exploitation des bases de données

42P02: undefined_parameter

PostgreSQL

Que signifie cette erreur ?

La requête référence un paramètre qui n'existe pas. PostgreSQL signale que le paramètre positionnel référencé (par ex. $2) n'est pas défini. Appartient à la Class 42 (syntax_error_or_access_rule_violation).

Cause

Référence à plus de paramètres que ceux fournis dans une instruction préparée avec PREPARE (par ex. envoi de deux paramètres et utilisation de $3) ; numérotation des paramètres avec des trous ; ou index $N erronés dans du SQL concaténé dynamiquement.

Comment la corriger

Assurez-vous que les numéros de paramètres correspondent au nombre de valeurs fournies ; vérifiez qu'ils commencent à $1 et se suivent sans trou. Définissez complètement les types des paramètres dans l'instruction PREPARE : PREPARE p(int, text) AS SELECT ... WHERE a=$1 AND b=$2; Si vous utilisez un ORM/driver, comparez le nombre de paramètres liés aux placeholders de la requête.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur