1

説明を使用して、次の sql で選択されるレコードの数を確認できます。

explain select * from products 

ここに画像の説明を入力 ただし、expin は update および delete コマンド用ではありません。
PHPで、SQLを使用してテーブルを更新したい、このSQLが行のみまたは多くの行を更新するかどうかを確認したい、多くの行が影響を受ける場合、このSQLはテーブルの誤操作を防ぐために実行できません。
では、実行する前に、この更新SQLが影響する行数をどのように知ることができますか?

update products set products_model = 'hello' where products_id = '1'
4

4 に答える 4

2

でクエリを実行します

SELECT COUNT(id) AS will_affect_rows_count FROM products WHERE products_id = '1'

これにより、UPDATE クエリの影響を受ける行の数がわかります。

なぜこのテーブルにproducts_idが重複している製品があるのですか?

于 2013-07-15T01:56:52.417 に答える
2

一意の行インデックス「id」を持っている場合は、次のことができます

SELECT id FROM yourtable WHERE updateCondition;

そして、更新を行います

UPDATE yourtable SET foo=bar WHERE updateCondition AND id in (<ids returned by first query here>);
于 2013-07-15T02:22:20.947 に答える
1

事前に行うことができますselect

select count(*)
from products 
where products_id = '1'
于 2013-07-15T01:55:47.960 に答える
1

SELECT COUNT(*) from products WHERE products_id = '1'前に実行してカウントを見るべきだと思います

== 1 の場合は更新します

于 2013-07-15T01:56:13.643 に答える