Maison >développement back-end >Golang >Pourquoi mon instruction préparée échoue-t-elle dans PostgreSQL avec une « erreur de syntaxe d'espace réservé aux paramètres de requête » ?
Erreur de syntaxe de l'espace réservé au paramètre de requête dans PostgreSQL
L'instruction SQL fournie tente d'exécuter une requête avec une instruction préparée. Cependant, cette instruction rencontre une erreur dans PostgreSQL en raison d'un espace réservé de paramètre inapproprié.
MySQL et PostgreSQL utilisent une syntaxe différente pour spécifier les espaces réservés de paramètres. Alors que MySQL utilise le "?" caractère, PostgreSQL utilise "$1", "$2", etc.
Pour résoudre ce problème, remplacez le "?" espace réservé dans l'instruction SQL avec "$1", comme indiqué ci-dessous :
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)
Cet ajustement devrait éliminer l'erreur de syntaxe et permettre à la requête de s'exécuter avec succès dans PostgreSQL.
De plus, l'énigmatique les messages d'erreur rencontrés dans PostgreSQL peuvent provenir de diverses causes. Dans ce cas particulier, l'analyseur est devenu confus en raison d'une syntaxe de paramètre incorrecte, entraînant un message d'erreur énigmatique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!