2015-10-29 122 views
0

我目前正在編寫一個帶插件功能的聊天機器人,目前我正在開發一個權限系統。Python MySQL INSERT查詢不會執行

但是,我插入到我的數據庫查詢不起作用。如果我手工完成,它的工作完美無瑕。

下面是一段代碼...希望你明白我試一下:

def dothis(message): 
if message.content.split()[1].lower() == "op": 
    user = get_member_by_name(message, message.content.split()[2]) 
    try: 
     pmcon = mdb.connect(db_server, db_user, db_pass, db_name) 
     pmcur = pmcon.cursor() 
     pmcur.execute("INSERT INTO users (username,userid,hasop) VALUES (\'{}\',\'{}\',{})".format(message.content.split()[2], user.id, "TRUE")) 
    except: mdb.Error, e: 
     print "Error %d: %s" % (e.args[0], e.args[1]) 
    finally: 
     if pmcon: 
     pmcon.close() 

我已經試圖把該查詢字符串,並讓它打印出來,但我沒有看到錯誤。

我做錯了什麼?

回答

0

如果你的數據庫連接未配置爲autocommit,您需要提交您的語句:

pmcon.commit() 

(後execute語句)

+0

哇,實際工作。但爲什麼普通的SELECT查詢能夠立即工作? –

+0

只有'寫'到數據庫需要被提交; '選擇'只是讀取而不修改數據庫。 –