2017-08-02 53 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