0

現在の に時間または日数を追加するにはどうすればよいですutc_timestampか?

私は使っている;

new CDbExpression('UTC_TIMESTAMP()')

私のmysqlテーブルの「作成済み」フィールドと「更新済み」フィールドの両方に対して、作成日から4日を許可する「有効期限」フィールドを追加したいと考えています。これは可能だと思いますが、方法がわかりません。

4

3 に答える 3

0

現在時刻の挿入/更新

UPDATE テーブル SET 作成済み = NOW()

作成日から 4 日間 SELECT * FROM table WHERE created > DATE_SUB( NOW( ), INTERVAL 4 DAY )

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

于 2009-07-15T05:11:22.907 に答える
0

MySQL の場合:

ALTER TABLE `table` 
    ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);
于 2009-07-15T05:12:29.800 に答える
0

「データ型指定の DEFAULT 値句は、列のデフォルト値を示します。1 つの例外を除いて、デフォルト値は定数でなければなりません。関数または式にすることはできません。これは、たとえば、次の値を設定できないことを意味します。日付列のデフォルトは、NOW() や CURRENT_DATE などの関数の値です。"

したがって、これは明示的に文書化された制限です

TRIGGERMySQL バージョン < 5.6.5 の場合は作成する必要があります

しかし

MySQL 5.6.5 changelog stats

MySQL 5.6.5の時点で、 TIMESTAMP および DATETIME カラムは自動的に初期化され、現在の日付と時刻 (つまり、現在のタイムスタンプ) に更新されます。5.6.5 より前では、これは TIMESTAMP にのみ当てはまり、テーブルごとに最大で 1 つの TIMESTAMP カラムに当てはまります。

参照 :

http://bugs.mysql.com/bug.php?id=27645

http://optimize-this.blogspot.in/

于 2012-07-03T10:44:52.360 に答える