如何在mysql的currrent_timestamp中增加1小时,这是默认值?

Mat*_*hew 3 mysql database timestamp

我有一个带有timestamp字段的数据库,默认情况下它使用当前时间戳,但是我在时间上有问题,例如,如果我在9:00插入行,它将需要8作为时间戳。

所以我的问题是默认情况下如何使该表中的current_timestamp增加一小时?我知道您可以用php来做,但是我更喜欢纯MySQL解决方案。

我的服务器时区有问题,但是我不想更改它,因为我担心这可能会影响服务器上的其他数据库,而我只想更改一个数据库中的时间戳。

mit*_*oft 6

只是您不能做CURRENT_TIMESTAMP + INTERVAL 1 HOUR,但是您可以定义一个触发器:

CREATE TRIGGER tr_dt_table BEFORE INSERT ON your_table FOR EACH ROW BEGIN
  SET NEW.datetime_field = NOW() + INTERVAL 1 HOUR;
END
Run Code Online (Sandbox Code Playgroud)

并删除该字段的任何默认值(即NULL默认设置),以避免产生矛盾。