0
psycopg2 2.7.3으로 python 2.7 및 postgresql 9.3을 사용 중입니다. 매개 변수 전달을 통해이 오류가 발생합니다. psycopg2.ProgrammingError : 구문 OR "psycopg2.ProgrammingError : 또는 근처에서 구문 오류가 발생했습니다. 또는
psycopg2 2.7.3으로 python 2.7 및 postgresql 9.3을 사용 중입니다. 매개 변수 전달을 통해이 오류가 발생합니다. psycopg2.ProgrammingError : 구문 OR "psycopg2.ProgrammingError : 또는 근처에서 구문 오류가 발생했습니다. 또는
Psycopg2이 %s
자리하지 ?
questionm를 사용하여 오류 또는 근처"구문 또는 근처에서 오류
cur = con.cursor()
cur.execute('SELECT * FROM test WHERE voucher= ? OR voucher= ?', ('RHAT', 'MSO'))
또는
오류 메시지가psycopg2.ProgrammingError입니다 " 방주는 :
cur.execute(
'SELECT * FROM test WHERE voucher = %s OR voucher = %s',
('RHAT', 'MSO'))
는 Psycopg2 문서의
Passing parameters to SQL queries section 참조하십시오.
일반적으로 Python 데이터베이스 어댑터는 이름이 지정된 매개 변수 스타일과 함께 하나 또는 다른 스타일로 지정됩니다. 사용 된 스타일을 확인하려면 항상 설명서를 확인하십시오. 라이브러리에는 paramstyle
variable이 있지만, 항상 여러 스타일에 대한 지원을 잘 반영하지는 않습니다.
내가 테이블 이름을 쿼리에 전달하려고 시도 할 때 cur.execute ('DROP TABLE % s;', ('test'))가 작동하지 않는 것 같습니다. – Sameesh
@Sameesh : 테이블 이름은 데이터가 아닙니다. 아니. 자리 표시자는 SQL 지침이나 객체 이름으로 착각하지 않도록 * data *를 이스케이프 처리합니다. –
tablename을 포함하는 메소드에 대해서는 [psycopg2를 사용하여 PostgreSQL의 매개 변수로 열 이름을 전달] (// stackoverflow.com/a/27290006)을 참조하십시오. –