2011-07-27 18 views
0

私はいくつかのタイムスタンプフィールドを含むテーブルを持っていますが、いくつかのフィールドにNULLをデフォルト設定しているいくつかの問題があります。MySQLのタイムスタンプ自動更新

私はこれらのタイムスタンプのテーブルを持っている私の ユーザーテーブルで

(field),(NULL),(default val) 

deleted_on YES NULL 
last_change_attemp YES NULL 
newpass_time YES NULL 
last_login YES NULL 
created NO 0000-00-00 00:00:00 
updates YES NULL 

私はphpMyAdminの行を編集行くとき、私は行が編集が既に除いて、すべてのNULLフィールドをチェックNULLチェックボックスを持っています最初のフィールド:* deleted_on *。チェックボックスを手動でチェックすると、そのフィールドをNULLとして維持することができます。

クエリで別のフィールドを更新すると、自動的にその最初のフィールドにcurrent_timestampが実行されます。これは期待されていますか?

答えて

3

私は再びドキュメントを読んで最初のものより 他のTIMESTAMPカラムの自動デフォルトや更新を指定するには、テキスト

のこの作品を気づいた、あなたは自動初期化と 更新を抑制しなければなりません(たとえば、DEFAULT 0または DEFAULT '2003-01-01 00:00:00')を指定して、最初のTIMESTAMP列の動作を定義します。次に、他のTIMESTAMP列の場合、 の規則は、DEFAULT句とON UPDATE句の両方を省略すると を除いて、最初のTIMESTAMP列の規則と同じです。自動では の初期化または更新は発生しません。

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

だから私は、自動更新を防止するために0000-00-00 00:00:00にフィールドをデフォルトしている当分の間。

0

phpMyAdminには列がCURRENT_TIMESTAMP

私はなぜ知らないとしてマークされている場合は特に、タイムスタンプとヌルでいくつかの奇妙なことを行います。

関連する問題