2013-09-27 27 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をこの読み取り専用属性は、DQL文の(生産最後.execute *を() 行数を指定しますSELECTのように)または が影響します(UPDATEまたはINSERTのようなDML文の場合)。 [9]

+0

ありがとうございます。 :D –

+0

もう1つの質問@falsetru、私はこの質問を投稿する前に.rowcountを使いました。しかし、 "int 'は呼び出し可能ではありません"というエラーを投げた。しかし今、それは働いた、私は本当に理由を知らない。 –

+2

@GiaDuongDucMinh、メソッドのような行数を呼び出しましたか? '.rowcount()'?それは方法ではありません。 – falsetru

関連する問題