2016-08-02 16 views
0

私は、参加した日付の列を持つユーザーテーブルを持っています。これはタイムスタンプのデータ型です。私は、列の値を常にユーザーが参加した時点の時刻にしたいので、デフォルト値は現在の時刻です。ユーザーのプロファイルが更新されると、ユーザーの参加日が現在の時刻に更新されます。つまり、ユーザーが8月2日に参加し、9月17日にプロフィールを更新するとします。参加日の新しい価値は9月17日です。これは、SQL文にその行を更新するよう指示しなくても発生します。MySQLの行が更新されたときにタイムスタンプ列が更新されないようにするにはどうすればよいですか?

新しい行が作成されたときにタイムスタンプ列にのみ影響を与えるようにするにはどうすればよいですか?あなたはそれが唯一の挿入の列を移入するようにデフォルトの制約を設定する必要がありますように

+1

'show create table table_name'をチェックすると、カラムの定義がわかり、' ON UPDATE CURRENT_TIMESTAMP'となり、その部分を削除すれば完了です。 –

+0

可能な複製http://stackoverflow.com/q/18962757/4323504最初の答えをお読みください –

答えて

0

サウンズ:

DEFAULT CURRENT_TIMESTAMP 
ALTER TABLE table CHANGE datetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

だけにそれを変更し、これは任意のリビジョンが更新されるタイムスタンプ値をトリガしないことを意味します。

関連する問題