ホームページ > バックエンド開発 > PHPチュートリアル > MySQL はデータを更新する前にデータが変更されたかどうかを判断しますか?

MySQL はデータを更新する前にデータが変更されたかどうかを判断しますか?

WBOY
リリース: 2016-06-13 12:54:32
オリジナル
935 人が閲覧しました

データを更新する前に、MySQL がデータが変更されたかどうかを判断するかどうか
MySql{MyPhpAdmin} で更新ステートメントを実行します:
update tableA set a=1 where id=2
a の元の値が 1 の場合、MySql は直接「影響を受ける行は 0 行」を返します。
a の元の値が 1 でない場合、「1 行が影響を受けます」が返されます。 MySql は、更新ステートメントを実行する前に、新しい値と古い値を比較しますか? 変更がある場合、変更のみが行われ、更新ステートメントは実行されません。

そしてPHPでは
mysql->query(); ステートメントが実行されると、ステートメント自体にエラーがなければ、直接 true が返されます。 update を実行すると、構文が正しく、条件が間違っている場合、クエリは直接 true を返します。
mysql->affected_rows を使用して判断すると、上記の mysql で述べた問題が発生します。ステートメントは正しく、条件も正しいのに、データは変更されず、0 行が返されます。このように、更新ステートメントが実際に正常に実行され、特定のデータに影響を与えていることをどのように確認すればよいでしょうか。


-----解決策--------------------------------見ていて混乱します。 。
ステートメントが正しいかどうか、このデータが存在するかどうか、更新後に変更されているかどうかを知る必要があります。
すべてのニーズを満たすためには、最初に選択する必要があると思います。

------解決策----------------------では、更新ステートメントが実際に何であるかをどうやって知ることができますか? 実行は成功しました。
-- true を返すと成功を意味します

特定のデータに影響を与えます。
mysql->affected_rows
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート