मैं SqlAlchemy का उपयोग करते हुए पीजी डेटाबेस से डेटा लाने के लिए हैंड क्राफ्टेड एसक्यूएल का उपयोग कर रहा हूं। मैं एक क्वेरी की कोशिश कर रहा हूं जिसमें एसक्यूएल जैसे ऑपरेटर '%' है और जो लूप के माध्यम से 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()
कोई भी जानता है कि इस भ्रामक त्रुटि संदेश के कारण क्या है और मैं इसे कैसे ठीक कर सकता हूं?
[[संपादित करें]]
किसी से भी पूछने से पहले, ऊपर दिए गए कार्यों के बारे में कुछ विशेष या फैंसी नहीं है। उदाहरण के लिए, कार्य निष्पादित (एसक्यूएल) con.execute (sql) को लागू करता है और परिणाम देता है। चर कनवर्टर डेटाबेस के लिए पहले से स्थापित कनेक्शन है।
executeSql(...)
? और भी, क्या आप वास्तवRETURNING *
मेंSELECT
बयान में हैं?