相关疑难解决方法(0)

2598
推荐指数
34
解决办法
84万
查看次数

是否可以定义一个非空的时间戳列,并且在更新时没有默认值且没有特殊行为?

当我创建一个带有timestamp列的表时,该列在更新CURRENT_TIMESTAMP时被神奇地定义为NOT NULL DEFAULT CURRENT_TIMESTAMP.忽略到目前为止这有多奇怪,我想将其更改为没有默认值,也没有特殊的"on update"行为.

我发现如果我将列更改为NULL,默认情况下会神奇地设置为NULL,并且"on update"会神奇地消失.这很好,但我希望列不是NULL.当我将其更改回来时,默认和"on update"(设置为CURRENT_TIMESTAMP)都会神奇地重新出现.

我知道我可以使用datetime而不是timestamp,但我对时间戳感兴趣,因为它是时区感知的(似乎就像Postgres中的"timestamp with time zone").

mysql timestamp

23
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×2

timestamp ×2

datetime ×1

sqldatatypes ×1