0

MySQL 里面 TIMESTAMP和DATETIME区别

neo created at6 years ago view count: 2501

时区影响

TIMESTAMP是1970-01-01 00:00:01到现在的秒, 受时区影响

DATETIME是日期值不受时区影响

小提示, 设置时区方法 set time_zone="america/new_york";

取值范围不同

TIMESTAMP '1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC

DATETIME '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

自动更新

timestamp 可以设置默认值为当前时间戳

`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
report
回复
0

5.6.5以后DATETIME也可以设置默认值了。

CREATE TABLE table_test (
    `created_at`     DATETIME DEFAULT CURRENT_TIMESTAMP,
    `updated_at` DATETIME ON UPDATE CURRENT_TIMESTAMP
)
6 years ago 回复