python
  • mysql
  • pymysql
  • 2016-08-26 9 views 2 likes 
    2

    タイトルを参照してください。PyMYSQLによってmysqlデータベースの一部の行を更新する必要があります。変更された行の数はです。PyMSQLによってUPDATE文の影響を受ける行を取得する方法

    コード:mysql-affected-rows import pymysql db = pymysql.connect(xxxx) cur = db.cursor() sql = "update TABLE set A = 'abc' where B = 'def'" cur.execute(sql, params) db.commit()

    答えて

    6

    MySQLはまさにそれを達成するのに役立ちます特別なコールを提供します。この関数は、更新された値が似ていた行ではなく、影響を受けた行の数だけを返すので、更新に特に便利です。ドキュメントはhereです。

    これはPythonでどのように使用するのですか? returnexecuteコマンドはこれを正確に返します。

    affected_rows = cur.execute(sql, params) 
    
    +0

    Thxしかし、すべての戻り値は0であり、一部の行でも影響を受けます。 – island

    +0

    ええ、私はそれを持って、非常にありがとう! – island

    1

    これは、ステージを実行した後にcursor.rowcountで行うことができます。 Ffの戻り値が0と反対の場合は、1つ以上の行が影響を受けることを意味します。

    +0

    Thxしかし、すべての戻り値は0ですが、一部の行でも影響を受けます。 – island

    +0

    「db.commit()」を実行する前にrowcountを取得することは重要ですか? – island

    +0

    私はそれを持って、非常にありがとう! 私はちょうど間違ったUPDATE文を書いています! – island

    関連する問題