2011-07-08 10 views
0

タイムスタンプ付きのテーブルがあります。他のすべての行データが同じままであっても、行UPDATEのMySQL UPDATE TIMESTAMP?

タイムスタンプが "ON UPDATE CURRENT_TIMESTAMP"に設定されています。

既にその行にあるデータと同じデータで更新を実行すると、TIMESTAMPを更新する必要があります。それはしません。それはなぜですか?データが異なる場合、それはうまく更新されます。

私はTIMESTAMP = now()で更新を強制することができますが、私はMySQLが何をしているのか理解しようとしています。

答えて

6

あなたはON UPDATEと言っています。

すべての行の値が同じ場合、更新は行われません。

+0

mysqlは更新を試み、データが変更されたかどうかを確認し、データが同じであるため更新を実行しません。それはエラーや警告や何かをスローする必要がありますように思えますか?実際に舞台裏で何をしているのですか? –

+0

@ T.BrianJones:影響を受ける行を確認することができます。私は、何が裏目に残っているのかを100%確信しているわけではありません。 – alex

関連する問題