問題タブ [rows-affected]
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.
sql - CDbCommand::createCommand() は、移行内で影響を受ける行をゼロで返します
このコードは問題なく動作します (すべてのデータベース アイテムが期待どおりに更新されます)。
ただし、0 affected rows
実行されたクエリごとに出力されます。なんで?
1 つの SQL クエリでステートメントに影響を与える多くの行を実行すると、同じ効果があります。
私は何が欠けていますか?Docs によると、CDbCommand::execute
実行によって影響を受けた行数が返されるはずです。移行内で使用する場合、この機能は機能しますか?
php - 「影響を受けた行はありません」と、正常に更新された行を区別します--同じ値に (MySQL および PHP)
PHP から SQL (MySQL) コマンドを実行しています。各実行には、いくつかの可能な結果があります。
- 新しい値に更新されたレコード
- レコードが更新されましたが、値がたまたま同じです
- 更新する行がレコードにない (つまり、
WHERE
句に一致する行がない)
# の 1 と 3 を区別する方法を考えています。どちらの場合も、影響を受ける行の数としてゼロを返すため、次のようになります。
$result == 0
どちらの場合にもあります。どうすれば違いがわかりますか?
編集:シナリオ 1 と 3 ではなく、シナリオ 2 と 3 を区別する方法を尋ねるつもりでした! ご不便おかけしてすみません...
php - 複数の出力を返す PHP sql_srv_rows_affected
レコードのリストをインポートするストアド プロシージャを作成しました。このストアド プロシージャは、一時テーブルに INSERT を実行し、契約番号が一致するかどうかに基づいて MERGE を実行します。TARGET によって一致しない場合は実際のテーブルに INSERT し、SOURCE によって一致しない場合は実際のテーブルから DELETE します。
これは問題なく動作します。私が取り組んでいる問題は、SQL SERVER メッセージをエコーするようにしようとしている PHP にあります。
「(2384 行が影響を受けました)」の最初のメッセージは sql_srv_rows_affected で表示されますが、2 番目の「(2 行が影響を受けました)」は表示されません。最初の結果は一時テーブルへのインポートで、2 番目の結果は MERGE ステートメントの影響を受けた行の量です。
影響を受ける行をエコーアウトするコードは次のとおりです。
探しているものを達成するために while ステートメントを実行できますか?
前もって感謝します!
編集:これが機能したコードです:
結果が 2 つ以上ある場合は、代わりに $next_result 変数を while ステートメントに変更できます。
php - $mysqli->affected_rows は 0 multi_query を返します
私は簡単なコードを持っています。このクエリは正常に機能します。sql と php からも直接動作します (php から動作するように変更され$mysqli->query
まし$mysqli->multi_query
た) が、. 実際に挿入された行があり、heidisql を介してクエリを実行すると、次のように報告されます。$mysqli->affected_rows
0
影響を受ける行: 2 見つかった行: 0 警告: 0 2 つのクエリの所要時間: 0.000 秒。
影響を受ける行をどのようにカウントすればよいですか? 私は何を間違っていますか?
rowCount() も試しましたが、あまり役に立ちませんでした。
android - 変更された行数 (影響を受ける行) は、SQLite (Android) で常に 1 です。
Android アプリケーションに次の SQLite テーブルがあります。
同じデータでレコードを更新すると、変更された行 (影響を受ける行) の数は常に 1 になります。
他の DBMS (Mysql など) では、特定のレコードに対して同じデータで更新を実行すると、変更された行の数が 0 になります。Android の SQLite では異なりますか?
mysql - PHPMyAdmin CSV LOAD DATAの影響を受ける行が表示されない
PHPMyAdmin を使用して部分的な CSV インポートを実行しています (すべての列が一致しないということは、LOAD DATA と CSV インポートを使用して CSV を実行する必要があるため、これは重要です)
PHP 5.6.22、PHPMyAdmin (現在は 4.6.3)、および MySQL 5.5.46 の最新バージョンについていくように努めており、PMA 4.5.x バージョンの中頃から、ロードデータのインポート。
以前の動作では、単一の結果ウィンドウに「# xx 行が影響を受けました」がありましたが、現在は 2 つの結果ウィンドウがあり、LOAD DATA クエリはクエリの後に何もありません。これを修正して、以前と同じように読めるようにしたいと思います。
直接の PHP/MySQL CSV LOAD DATA が mysqli_affected_rows を介してデータを返すため、データがどこかで利用可能であることはわかっているため、PMA が原因であると思われます。これは今までのバージョンからアップデートする際の設定の問題なのか、それとも報告すべきバグなのか?
php - 2を示すPHP mysqlの影響を受けた行
少し困っています。これは、いくつかのテスト メソッドを実行するために 2 番目のデータベース クラスを追加するまで機能していました。これを削除した後、このエラーが発生し、理由がわかりません。
警告: extract() は、パラメーター 1 が配列であることを想定しています。null は、49 行目の /home/bitandpi/public_html/temp/build/build.php で指定されています
これが私のコードです:
$sql 変数を出力し、それを phpmyadmin クエリに直接実行したところ、0 の結果が返されました。
ただし、上記のコードを実行すると、画面に次のように出力されます。
行に影響していないのに、行に影響していると言っているのはなぜですか?
ありがとう