在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中文網其他相關文章!