代码之家  ›  专栏  ›  技术社区  ›  Gia Duong Duc Minh

Python如何知道记录是否成功插入

  •  24
  • Gia Duong Duc Minh  · 技术社区  · 12 年前

    我使用的是Python MySQL连接器,我在数据库中插入了一条记录,它很成功。但在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
    
    1 回复  |  直到 12 年前
        1
  •  54
  •   falsetru    9 年前

    您可以使用 .rowcount 属性:

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

    .行数 此只读属性指定 最后生成的.execute*()(对于SELECT等DQL语句)或 受影响(对于UPDATE或INSERT等DML语句)。[9]