2010-06-14 40 views
19

Làm cách nào để thoát% từ truy vấn mysql trong python.Làm cách nào để thoát% từ truy vấn mysql python

Ví dụ

query = """SELECT DATE_FORMAT(date_time,'%Y-%m') AS dd 
FROM some_table 
WHERE some_col = %s 
AND other_col = %s;""" 

cur.execute(query, (pram1, pram2)) 

mang lại cho tôi một "ValueError: nhân vật định dạng được hỗ trợ 'Y'" ngoại lệ.

Làm cách nào để nhận được mysqldb bỏ qua%? Không thể thấy điều này trong bất kỳ tài liệu nào.

+2

+1 SO chỉ làm tôi ngạc nhiên. Tôi đến đây để nghĩ người đàn ông này sẽ trở thành một câu khó! Nhưng không, nó đã được yêu cầu và trả lời! –

Trả lời

23

thoát Literal là khuyến cáo của docs:

Note that any literal percent signs in the query string passed to execute() must be escaped, i.e. %% .

Các vấn đề liên quan