MySQL は更新中に変更されていない列を上書きしますか?
示されている例のように、MySQL テーブルを更新するとき:
user_id | user_name |
---|---|
1 | John |
2 | Joseph |
3 | Juan |
次のクエリが実行される場合:
<code class="sql">UPDATE `user` SET user_name = 'John' WHERE user_id = 1</code>
意図した変更が既存の値と同一であるにもかかわらず、MySQL は "user_name" 列を変更しますか?
に対する MySQL のアプローチ変更されないカラム値
UPDATE ステートメントに関する MySQL ドキュメントによると、
「カラムを現在の値に設定すると、MySQL はこれを認識し、更新しません。 "
この場合、MySQL は user_id 1 の意図された "user_name" 値が現在の値と同一であることを認識します。したがって、MySQL はデータベースの変更を控えます。
指定されたカラムに実際の変更が必要ないことが MySQL によって検出されるため、クエリはテーブル データを変更せずに実行されます。
以上がMySQL は更新中に変更されていない列を更新しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。