問題タブ [rowcount]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - .commitで実際のcursor.rowcountを取得するにはどうすればよいですか?
PythonでMySQLdbを使用しています。
成功または失敗する可能性のある更新があります。
推測できるかもしれませんが、複数のプロセスがデータベースを使用しています。競合状態が問題を引き起こすことなく、プロセスが自分で行を安全に取得できるようにする必要があります。
私の理論(おそらく正しくない)は、このクエリで成功できるのは1つのプロセス(.rowcount = 1)のみであり、他のプロセスは失敗する(.rowcount = 0)か、別の行を取得する(.rowcount = 1)というものです。
問題は、MySQLdbを介して発生するすべてが仮想世界で発生しているように見えることです。.rowcountは= 1を読み取りますが、.commit()を実行するまで、実際に何かが発生したかどうかを実際に知ることはできません。
私の質問:
- MySQLでは、単一のUPDATEはそれ自体の中にアトミックですか?つまり、上記の同じUPDATE(PID値は異なるが、REQUESTED_ROW_IDは同じ)が「1回」で同じMySQLサーバーに送信された場合、一方が成功し、もう一方が失敗することが保証されますか?
- 「conn.commit()」を呼び出した後、意味のある変更があったかどうかを知る方法はありますか?**実際のコミット操作で信頼できる.rowcountを取得できますか?
- .commit操作は実際のクエリ(SETとWHEREの条件はそのまま)を送信しますか、それとも影響を受けた行に対して、それらに影響を与えたWHERE句とは無関係にSETを実行するだけですか?
- 私の問題は.autocommitによってきちんと解決されていますか?
sql - TADOCommand で挿入/変更されたレコードの数を確認する方法は?
私は SQL Server データベースを使用しており、簡単な SQL スクリプトを呼び出した後、スクリプト内で最後に (または唯一) 実行されたステートメントによって影響を受けたレコードの数を知りたいと考えています。
Delphi の TADOCommand でこれを達成する方法の参照が見つかりません。SQL Server がこの情報をプロバイダに提供することはわかっています。別のクエリで @@ROWCOUNT を取得するなどの回避策を認識していますが、これによりオーバーヘッドと不要な複雑さが生じます。
ありがとう。
python - MySQLdb.cursors.Cursor python2.6 から一致する行を取得する方法
私は python2.6 と MySQLdb を使用しています。このデータを含むテーブルがあります
次の例のように mysql を更新したいと考えています。
そして、更新のすべての ID がデータベースに存在するかどうかを知る必要があります。この情報を取得するための私の考えは、更新しようとしたアイテムの数と一致した行の数を比較することでした。この例では、数字は 4 対 3 です。
問題は、カーソル情報から「一致した行」を取得する方法がわからないことです。この情報は、cursor._info = '一致した行: 3 変更: 2 警告: 0' にのみ表示されます。
cursor.rowcount は変更された行の数なので、=(
ありがとう!
sql - SQLServer-トリガーは@@Rowcountに影響しますか?
UPSERTを実行するか、存在する場合は更新し、存在しない場合は挿入するクエリがあります。
さて、@@RowCount
トリガーで実行されたクエリの影響を受けるのでしょうか?私のトリガーで私が持っているとしましょう:
最初のクエリで更新が成功した場合、トリガーは行に影響を与えるMyLogsへの挿入を実行します。
php - RowCount() = 0 エラー php mysql
rowcount() = 0 ロジックが機能しないのはなぜですか?
sql - CTE、ROW_NUMBER、およびROWCOUNT
次のような1つのストアドプロシージャで、データのページとすべてのデータの行数を返そうとしています。
行数(最大行数)を返すことができません。
私はこれがすでに議論されていることを知っています(私はこれを見ました:
row_numberを使用してクエリから@@ rowcountを取得する効率的な方法)が、CTEを追加するCOUNT(x) OVER(PARTITION BY 1)
と、パフォーマンスが低下し、通常は時間がかからない上記のクエリは永遠にかかります実行する。行ごとにカウントが計算されるからだと思いますか?CTEを別のクエリで再利用できないようです。テーブルプロップには100kレコードがあり、CTEは5kレコードを返します。
sql - コマンドへの挿入時に SQL Rowcount が常に 1 を返す
私がやりたいことは、変数をトランザクションの影響を受ける行数に設定し、それをテーブルに送信することだけです。なぜ問題があるのか わかりませんが、ここに私のコードがあります
やってみても
私はまだ1を取得します。
これはなぜですか、どうすれば修正できますか?
コードを変更してSelect @@ROWCOUNT
前に追加するSet @RowCount = @@rowcount
と、それを選択するように機能しますが、それでも変数に入れたいです。
回答: @@ROWCOUNT を使用していた @@ROWCOUNT の場合だと思いますが、@@ROWCOUNT が必要でした。
c# - PerformDataBinding、ObjectDataSource から行数を抽出
SqlDataSources からの行数を自動的にグリッドに入れるカスタム GridView があります。以下のコードでそのカウントを計算します。この質問は、ページレベルのものではなく、継承されたカスタム GridView コントロールに関連していることに注意してください。
「IEnumerable」が ObjectDataSource であることを PerformDataBinding で認識するにはどうすればよいですか? ObjectDataSource の型を具体的に調べて、その「総行数を取得」関数を呼び出したいと思います。
その理由は、合計行数が (たとえば) 数百万であるためです。現時点では、ICollection 句はデータベースから取得されたものの数を返します。これは通常、データの「1 ページ」であるため、(たとえば) 20 です。レコードは 20,000,000 ではありません!
私は特定の ObjectDataSource タイプをいくつかしか持っていないので、この IEnumerable のものからそれらの名前を見つける方法を知っていれば、それらを 1 つずつ選択できます。
この回答を確認しました: ObjectDataSource の行数を取得する 方法ですが、扱っている正確な BLL を特定する方法がわかりません。デバッガーはこのオブジェクト内に多くのものを持っていますが、そこに何が欲しいのかわかりません。
mysql - この mysql クエリが機能しないのはなぜですか?
私はこのクエリを持っています:
今、私のテーブルには
$user['id'] は1に等しい
しかし、行数が 0 を返すのはなぜですか?
sql - T-SQL:一意の行の列として行数を含める
テーブルがあります。TableAと呼び、次の3つの列にデータが含まれています
次のようなレコードセットを返したいです。
重複する行は、発生回数とともに1回だけ返されます。SQLを作成する方法がわかりません。ご協力いただきありがとうございます!