使用 utc 时间戳、mysql 和 php 的到期日期?

发布于 2024-07-27 04:55:07 字数 214 浏览 1 评论 0原文

如何向当前 utc_timestamp 添加时间或天数?

我在用;

new CDbExpression('UTC_TIMESTAMP()')

对于我的 mysql 表中的“创建”和“更新”字段,但想添加一个“到期”字段,该字段允许从创建日期起 4 天。 我认为这是可能的,但我不确定如何实现。

How do you add time or days to a current utc_timestamp?

I am using;

new CDbExpression('UTC_TIMESTAMP()')

for both 'created' and 'updated' fields in my mysql table but would like to add an 'expiry' field which would allow 4 days from creation date. I presume this is possible but am unsure how.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夏至、离别 2024-08-03 04:55:07

用于插入/更新当前时间

UPDATE 表
SET 创建 = NOW()

自创建之日起 4 天
SELECT * FROM 表 WHERE 创建 > DATE_SUB( NOW( ), INTERVAL 4 天 )

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

for insert/update current time

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

慢慢从新开始 2024-08-03 04:55:07

在 MySQL 中:

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

In MySQL :

ALTER TABLE `table` 
    ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);
未蓝澄海的烟 2024-08-03 04:55:07

“数据类型规范中的 DEFAULT 值子句表示
列的默认值。 除了一个例外,默认值必须
是一个常数; 它不能是函数或表达式。 这意味着,
例如,您不能将日期列的默认值设置为
函数的值,例如 NOW() 或 CURRENT_DATE。”

因此,这是明确记录的限制,

必须创建 TRIGGER

如果您的 MySQL 版本 <5.6.5 BUT,则

MySQL 5.6.5 变更日志统计< /a>

MySQL 5.6.5 开始,TIMESTAMP 和 DATETIME 列可以自动
初始化并更新为当前日期和时间(即
当前时间戳)。 在 5.6.5 之前,这只适用于 TIMESTAMP,并且
每个表最多一个 TIMESTAMP 列。

参考:

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

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

"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."

So, this is explicitely documented limitation

you have to create TRIGGER if your MySQL Version < 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.

Reference :

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文