2017-08-02 52 views
0

生成的SQL語句,我經常EXCUTE SQL語句與mysql.connector檢查由EXCUTE蟒蛇3.5 mysql.connecter

conn = mysql.connector.connect(user='root', password='pass', host='localhost', database='db1') 
cur = conn.cursor(buffered=True) 


sql = "select * from mysql where symbol = %s and life = %s" 
data = (data1,data2) 
cur.execute(sql,data) 

通常情況下,這不是問題,但有時誤差與一些小misstakes發生。

如果我可以檢查直接生成的sql,這對調試很有幫助。

select * from mysql where symbol = 'test' and life = 'mylife' 

我試過感謝@hunzter的建議。

try: 
    cur.execute(sql,data) 
except: 
    pprint(cur._last_executed) 
    sys.exit() 

但是它顯示

AttributeError: 'MySQLCursorBuffered' object has no attribute '_last_executed' 

回答

0

這是cursor._last_executed。即使發生異常,也可以將其打印出來。

+0

謝謝! Howeber我嘗試過使用try/except,'AttributeError:'MySQLCursorBuffered'對象沒有屬性'_last_executed'發生 – whitebear

+0

您正在使用哪種版本的Python?我用得很好。 – hunzter