2011-08-01 7 views
1

私は MySQLdbの説明を理解しようとしています。私はそこに欠けているものがあるかどうか疑問に思っていただけです。たとえば、 "行数"(定数)が実際に何を参照しようとしていますが、ドキュメンテーションのどこにも表示されません。Python MYSQLdbのマニュアルには詳細がありませんか?

ドキュメントは不完全ですか、間違った場所を見ていますか?

ありがとうございました。

+1

afaik MySQLdbが実装している[DB-API](http://www.python.org/dev/peps/pep-0249/)もご覧ください。 – bernie

+2

pydocのドキュメントをお試しになりましたか?対話型シェルを実行し、MySQLdbをインポートし、クエリを実行し、 'help(Cursor.rowcount)'を実行します。ドキュメントがそこにあることを保証することはできませんが、それは価値があります。 –

+0

@Chris:pydocのコメント+1 –

答えて

2

Pythonのデータベースモジュールのドキュメントの主なソースがthe DB-API 2.0 specificationです:

.rowcount 

     This read-only attribute specifies the number of rows that 
     the last .execute*() produced (for DQL statements like 
     'select') or affected (for DML statements like 'update' or 
     'insert'). 

     The attribute is -1 in case no .execute*() has been 
     performed on the cursor or the rowcount of the last 
     operation is cannot be determined by the interface. [7] 

     Note: Future versions of the DB API specification could 
     redefine the latter case to have the object return None 
     instead of -1. 
+0

入手しました。ありがとう。 – user721975

0

私は、次のGoogle検索に使用:サイトのネイティブ検索を使用するよりも、サイトを検索するには、Google site:演算子を使用するほうが良いrowcount site:mysql-python.sourceforge.net

を。しかしあなたの権利、それはそれ自身のドキュメンテーションではありません。まあ

+0

私はgoogle-fuに感心しますが、あなたはリンクを実際にクリックしていません。そのページに 'rowcount'という関数はありません。 'field_count'と' affected_rows'があり、どちらも 'Cursor.rowcount'を呼び出すことをお勧めします。 –

+0

興味深いことに、「Cursor.rowcount」は文書化されていないようです。なぜOPがこの質問をしているのでしょうか。 –

+0

@chris:私はFuとしてそれを意味するわけではなく、誰もがサイトについて知っているわけではありません。あなたは正しいです、私はリンクを誤って読んだが、その後すぐに自分の投稿を修正しました。 –

1

ソースコードを熟読した後、ここでは関係ライン(のMySQLdb/cursors.py:120)です

self.rowcount = db.affected_rows() 

のでrowcountCursorクラス(ないメソッド)のためだけのメンバ変数で、どの結果はaffected_rowsのままです。私はおそらくあなたにその特定の関数への呼び出しを保存すると思います。

+0

ありがとう@Chris。それはとても役に立ちました。 – user721975

2

私は便利なのMySQLdbにこのtutorialを見つけました。行カウントは言及されていますが、例の1つでは使用されていません。

+0

+1。非常に便利で分かりやすいチュートリアルです。ありがとう。 – user721975

関連する問題