2013-09-27 51 views
10

我正在使用Python MySQL Connector,我在數據庫中插入了一條記錄,並且成功。但是在Python代碼中,我怎麼知道它是否被插入? 我的表沒有主鍵。Python如何知道記錄插入是否成功

def insert(params) : 
    db_connection = Model.get_db_connection() 
    cursor = db_connection.cursor() 
    try : 
     cursor.execute("""INSERT INTO `User`(`UID`, `IP`) VALUES(%s,%s);""", (params)) 
     db_connection.commit() 
    except : 
     db_connection.rollback() 
    Model.close_db(db_connection) 
    return result 

回答

20

您可以使用.rowcount屬性:

cursor.execute("""INSERT INTO `User`(`UID`, `IP`) VALUES(%s,%s);""", params) 
print("affected rows = {}".format(cursor.rowcount)) 

.rowcount此只讀屬性指定 最後.execute *()產生(對於DQL語句的行數像SELECT)或 受影響(用於DML語句,如UPDATE或INSERT)。 [9]

+0

謝謝,它的工作原理。 :D –

+0

還有一個問題@falsetru,在發佈這個問題之前,我使用了.rowcount。但它拋出一個錯誤「'int'無法調用」。但現在它工作,我真的不知道爲什麼。 –

+2

@GiaDuongDucMinh,你有沒有像方法那樣調用rowcount? '.rowcount()'?這不是一種方法。 – falsetru

相關問題