我有一个名为tab1的表。我想在表中添加一个新列。 我试过了
alter table tab1 add column mod_at TIMESTAMP default CURRENT_TIMESTAMP
我成功添加了该列。但是添加的默认时间戳值将是本地时间戳。如何将UTC时间戳添加为默认值,而不是本地时间戳?
答案 0 :(得分:1)
我怀疑你误解了S'_password'
p6
S'bla'
列类型的工作原理。此列始终在内部使用UTC,但在读取或写入时,它会从/转换为/到服务器/会话时区。您可以运行此查询以查看会话的时区:
TIMESTAMP
现在,如果您更改时区,例如:
SELECT @@session.time_zone
...您会看到已存储的值会更改以匹配新时区。这是预期的行为。
答案 1 :(得分:-1)
您可以使用UTC_TIMESTAMP()
代替