当MySQL行更新时,如何防止时间戳列更新?

时间:2016-08-02 06:48:06

标签: mysql

我有一个用户表,其中包含他们加入日期的列。它是一个时间戳数据类型。我希望列的值始终是用户加入时的当前时间,因此默认值是当前时间。如果更新了用户的配置文件,则用户的加入日期将更新为当前时间。换句话说,假设用户在8月2日加入,然后在9月17日更新他们的个人资料。加入日期的新值将是9月17日。即使我没有告诉我的sql语句更新该行,也会发生这种情况。

如何创建它以便时间戳列仅在创建新行时受到影响?

1 个答案:

答案 0 :(得分:0)

听起来您需要配置默认约束,以便它仅在插入时填充列:

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

将其更改为仅此意味着任何修订都不会触发更新时间戳值。