utc zaman damgası, mysql ve php kullanarak son kullanma tarihi?

3 Cevap php

Nasıl bir akım zaman veya gün eklerim utc_timestamp?

Ben kullanıyorum;

new CDbExpression('UTC_TIMESTAMP()')

'yarattı' ve benim mysql tabloda 'updated' alanlarına ancak 4 gün oluşturma tarihinden itibaren izin verecek bir 'bitiş' alanını eklemek istiyorum her ikisi için. Ben bu mümkün olduğunu tahmin ama nasıl emin değilim.

3 Cevap

ekleme / güncelleme şimdiki zaman için

UPDATE table SET created = NOW()

for 4 days from creation date 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

MySQL:

ALTER TABLE `table` 
    ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);

"The DEFAULT value clause in a data type specification indicates a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE."

Yani, bu explicitely sınırlama belgelenmiştir

Eğer TRIGGER oluşturmak varsa MySQL Sürüm < 5.6.5

BUT

MySQL 5.6.5 changelog stats

As of MySQL 5.6.5, TIMESTAMP and DATETIME columns can be automatically initializated and updated to the current date and time (that is, the current timestamp). Before 5.6.5, this is true only for TIMESTAMP, and for at most one TIMESTAMP column per table.

Referans:

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

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