J'utilise python 2.7 et postgresql 9.3 avec psycopg2 2.7.3, lorsque j'essaie d'exécuter une requête de sélection alors que le passage de paramètres me donne cette erreur psycopg2.ProgrammingError: syntaxe erreur ou à proximité « oUpsycopg2.ProgrammingError: erreur de syntaxe à ou près de "OU
cur = con.cursor()
cur.execute('SELECT * FROM test WHERE voucher= ? OR voucher= ?', ('RHAT', 'MSO'))
le message d'erreur est
psycopg2.ProgrammingError: erreur de syntaxe à ou près "oU"
Lorsque j'essaie de passer le nom de la table dans une requête, il ne semble pas fonctionner cur.execute ('DROP TABLE% s;', ('test',)) – Sameesh
@Sameesh: un nom de table n'est pas une donnée, non. Un espace réservé échappe * data * spécifiquement pour ne pas être confondu avec des instructions SQL ou des noms d'objet. –
Voir [Passer le nom de la colonne en tant que paramètre à PostgreSQL en utilisant psycopg2] (// stackoverflow.com/a/27290006) pour qu'une méthode inclue un nom de table. –