徒然なるままに

作成しているWebサイトについてやそこで使用しているWordPressやサーバー、個人的に感じたことなど色々なことを書いていきます。

MySQLのデータを同じ値で更新すると更新数は「0」になる!

こんにちは!

 

たかし(@Aspiration_Taka)です。

 

仕事中にハマったこと!

  

MySQLのUPDATE(更新)

 

UPDATEで更新をする際にセットした値と

 

カラムに元々入っているデータが同じ場合、

 

MySQLは同じ値のため、更新をしない判断をしてくれます。

 

そのため返り値(実際に変更された行数)が「0」となります。

 

MySQLって賢いんですね。 

 

カラムをその現在の値に設定した場合は、MySQL がこれに気付き、その更新を行いません。

出典:MySQLリファレンス

 

 

試してみよう!!

 

経験上、知りましたが実際にやってみました!

 

環境:

 MySQL 5.7

 Sequel Pro

 

まず簡単なテーブル(user)を作成して、データを作成しました。

 

f:id:takashi19831006:20180728170405j:plain

 

 このデータを同じ値でUPDATEします。

 

f:id:takashi19831006:20180728170446j:plain

 

コンソールには

 

「0行が影響を受けました。」

 

と書かれており、更新されていないことがわかります。

 

 

まとめ

 

普通に知らなかったです。

 

同じデータで更新することなんてほとんどないんで。。。。

 

はまるほどではないですが、知っていて損はないと思います!

 

 

Copyright © 2017 徒然なるままに All rights reserved.