私は、MySQL 5.x(PHP付き)でタイムスタンプを使用してイベント時刻を記憶しています。開発中に、すべての列で何かを変更するクエリでテーブルを更新する必要がありました。タイムスタンプは現在の時刻にリセットされました。MySQLタイムスタンプのみ作成時
タイムスタンプの変更は、挿入時のみ変更できますが、更新や置き換えはできません。
私は、MySQL 5.x(PHP付き)でタイムスタンプを使用してイベント時刻を記憶しています。開発中に、すべての列で何かを変更するクエリでテーブルを更新する必要がありました。タイムスタンプは現在の時刻にリセットされました。MySQLタイムスタンプのみ作成時
タイムスタンプの変更は、挿入時のみ変更できますが、更新や置き換えはできません。
Here's all you need to know。要するに、しかし、私は、これはそれを行うべきだと思う。ここfor time-stamp
ALTER TABLE `mytable`
CHANGE `mydatefield` `mydatefield`
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ありがとう!ここでは "NOT NULL"の部分は必要ないと思います。 –
このフィールドにはdefault valueを使用でき、挿入または更新クエリには含めることはできません。
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
非常に良いドキュメント。
私は何かが欠けているかもしれませんが、私のテーブルはこのように定義されていますが、それでも日付は変わりました。 mysqlの説明: 'pur_time'、 'timestamp'、 'NO'、 ''、 'CURRENT_TIMESTAMP'、 '' – Nir
その列にDATETIMEを使用することをおすすめします。レコードが更新されても変更されません。
私にとって、私はTIMESTAMPを使用して、レコードが最後にタッチされたときに追跡しますが、一般的には使用しません。
Googleにこれを行う他の人のための遅い回答:データベースでマニュアル編集を行うときにTIMESTAMPを使用する場合。または複数のTIMESTAMP列があり、それらのすべてに触れたくない場合は、 MySQLのマニュアルでは、カラムを自分自身に割り当てるように指示しています。明示的に列を現在の値に設定すると(つまり、 "updated_on = updated_on")、UPDATEによって変更されません。 –