2013-09-27 19 views
10

Python MySQL Bağlayıcısı'nı kullanıyorum, veritabanına bir kayıt ekledim ve başarılı oldu. Fakat Python kodunda, takılıp takılmadığını nasıl bilebilirim? Tablonun birincil anahtarı yok.Python bir kaydın başarıyla eklendiğini veya eklenmediğini öğrenmek için

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 

cevap

20

Sen .rowcount özelliğini kullanabilirsiniz:

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

.rowcount Bu salt okunur özniteliği DQL ifadeleri için (üretilen son .Execute *() satır sayısını belirtir SELECT gibi) veya etkilenen (UPDATE veya INSERT gibi DML deyimleri için). [9]

+0

Teşekkürler, işe yarıyor. : D –

+0

Bir soru daha @falsetru, bu soruyu göndermeden önce .rowcount kullandım. Ama bir hata attı "int" kalmıyor olamaz ". Ama şimdi işe yaradı, gerçekten nedenini bilmiyorum. –

+2

@GiaDuongDucMinh, rowcount like yöntemini mi çağırdınız? '.rowcount() '? Bu bir yöntem değil. – falsetru

İlgili konular