2009-03-31 14 views

答えて

21

ドキュメントに実際には記載されていませんが、ResultProxyオブジェクトにはrowcountプロパティもあります。

+0

'rowcount'は、*実際に*影響を受けた行の数ではありません。詳細は私の答えを見てください。 –

+0

これらの日に 'rowcount'がドキュメントに含まれています:http://docs.sqlalchemy.org/en/latest/core/connections.html#sqlalchemy.engine.ResultProxy.rowcount –

5

rowcountであり、影響を受けた行の数はではありません。一致した行の数。 UPDATEステートメントを、例えば、正味を持たないかもしれない - 必ずしも実際を変更された行の数と同じではありませんマッチした行の数を返す何doc

言うこの属性を参照してください。指定されたSET値が既に行に存在するものと同じである場合は、特定の行で変更します。このような行は一致しますが、変更されません。 MySQLのような両方のスタイルを、特徴とバックエンドでは、rowcountは、すべての場合そう1を報告しますrowcount次のシナリオの両方のための

にマッチカウントを返すために、デフォルトで設定されています。そのためのRows matched: 1

  1. 1行がupdateステートメントで変更しました。

    Query OK, 1 row affected (0.00 sec) 
    Rows matched: 1 Changed: 1 Warnings: 0 
    
  2. 同じupdate文が実行されます。

    Query OK, 0 row affected (0.00 sec) 
    Rows matched: 1 Changed: 0 Warnings: 0 
    
関連する問題