psycopg2.ProgrammingError: syntax error at or near "OR
psycopg2.ProgrammingError: syntax error at or near "OR
我正在使用 python 2.7 和 postgresql 9.3 以及 psycopg2 2.7.3,当我尝试在传递参数时执行 select 查询时它给了我这个错误
psycopg2.ProgrammingError:“OR
处或附近的语法错误
cur = con.cursor()
cur.execute('SELECT * FROM test WHERE voucher= ? OR voucher= ?', ('RHAT', 'MSO'))
错误信息是
psycopg2.ProgrammingError:"OR"
处或附近的语法错误
Psycopg2 使用 %s
占位符,而不是 ?
问号:
cur.execute(
'SELECT * FROM test WHERE voucher = %s OR voucher = %s',
('RHAT', 'MSO'))
请参阅 Psycopg2 文档的 Passing parameters to SQL queries section。
Python 数据库适配器通常坚持一种或另一种风格(伴随命名参数风格)。始终检查文档以查看使用的是什么样式。库中有一个 paramstyle
variable,但并不总能很好地反映对多种样式的支持。
我正在使用 python 2.7 和 postgresql 9.3 以及 psycopg2 2.7.3,当我尝试在传递参数时执行 select 查询时它给了我这个错误 psycopg2.ProgrammingError:“OR
处或附近的语法错误cur = con.cursor()
cur.execute('SELECT * FROM test WHERE voucher= ? OR voucher= ?', ('RHAT', 'MSO'))
错误信息是
psycopg2.ProgrammingError:"OR"
处或附近的语法错误Psycopg2 使用 %s
占位符,而不是 ?
问号:
cur.execute(
'SELECT * FROM test WHERE voucher = %s OR voucher = %s',
('RHAT', 'MSO'))
请参阅 Psycopg2 文档的 Passing parameters to SQL queries section。
Python 数据库适配器通常坚持一种或另一种风格(伴随命名参数风格)。始终检查文档以查看使用的是什么样式。库中有一个 paramstyle
variable,但并不总能很好地反映对多种样式的支持。