MySQL では、テーブルを更新するときに、カラムに指定した新しい値が現在の値と同じです。このような場合、自然な疑問が生じます: MySQL は既存の値を上書きするのでしょうか、それとも更新を完全に無視するのでしょうか?
UPDATE ステートメントに関する MySQL ドキュメントに答えが記載されています。
カラムを次のように設定した場合現在の値ですが、MySQL はこれに気づき、更新しません。
これは、次のような更新クエリを実行すると、
UPDATE `user` SET user_name = 'John' WHERE user_id = 1
ここでカラム値はすでに 'John' であることを意味します。 , MySQL は新しい値が既存の値と同一であると認識し、それを更新しようとしません。これは、データベースへの不要な書き込みを防ぐ最適化機能です。
したがって、この例では、MySQL は既存の値を上書きせず、user_id = 1 のユーザーの 'user_name' カラムを変更しないままにします。この動作により、データベースに冗長な書き込み操作による不必要な負担がかからなくなります。
以上がMySQL 更新クエリは既存の値が同じ場合に上書きしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。