SqlAlchemy를 사용하여 손으로 만들어진 SQL을 사용하여 PG 데이터베이스에서 데이터를 가져옵니다. 연산자 '%'와 같은 SQL이 포함 된 쿼리를 시도 중이며 루프를 통해 SqlAlcjhemy를 던지는 것 같습니다.
sql = """
SELECT DISTINCT u.name from user u
INNER JOIN city c ON u.city_id = c.id
WHERE c.designation=upper('fantasy')
AND c.id IN (select id from ref_geog where short_name LIKE '%opt')
"""
# The last line in the above statement throws the error mentioned in the title.
# However if the last line is change to:
# AND c.id IN (select id from ref_geog where short_name = 'helloopt')
# the script runs correctly.
#
# I also tried double escaping the '%' i.e. using '%%' instead - that generated the same error as previously.
connectDb()
res = executeSql(sql)
print res
closeDbConnection()
이 잘못된 오류 메시지의 원인과 해결 방법을 아는 사람이 있습니까?
[[편집하다]]
누군가가 묻기 전에, 위에 포함 된 기능들에 대해 특별하거나 공상적인 것은 없습니다. 예를 들어, executeSql () 함수는 단순히 conn.execute (sql)를 호출하고 결과를 리턴합니다. conn 변수는 단순히 이전에 설정된 데이터베이스 연결입니다.
executeSql(...)
있습니까? 또한, 당신은 정말해야합니까RETURNING *
에SELECT
문?