python format sql 에서 string 과 int 형식 변화

1873 단어 Python
오늘 format 를 사용 하여 sql 문 구 를 맞 출 때 문제 가 발생 했 습 니 다.
그 중 데이터베이스 중 first16 필드 는 text 형식 입 니 다.
>>> s = '12345'
>>> q0 = "select nid from news_simhash where first_16={0}"
>>> q1 = "select nid from news_simhash where first_16='{0}'"
>>> from doc_process import get_postgredb_query
>>> conn, cursor = get_postgredb_query()
>>> cursor.execute(q0.format(s))  #  
Traceback (most recent call last):
  File "", line 1, in 
psycopg2.ProgrammingError: operator does not exist: text = integer
>>> conn2, cursor2 = get_postgredb_query()
>>> cursor2.execute(q1.format(s))  #    

상기 q0 과 q1 실행 format:
>>> q0.format(s)
'select nid from news_simhash where first_16=12345'
>>> q1.format(s)
"select nid from news_simhash where first_16='12345'"

데이터 보기 필드 first16 은 text 형식 입 니 다.q0.format(s)에 text=int 가 나타 나 서 실행 오류 가 발생 했 습 니 다.모든 q1 처럼 작은 따옴표 를 수 동 으로 추가 하 는 것 은 필수 입 니 다.

좋은 웹페이지 즐겨찾기