MySQL中的时间默认当前时间通常指的是在创建表时,某些字段(如DATETIME
、TIMESTAMP
)在没有指定具体值的情况下,会自动填充为当前的时间戳。这是MySQL提供的一种便捷机制,用于记录数据的创建或更新时间。
YYYY-MM-DD HH:MM:SS
,范围从1000-01-01 00:00:00
到9999-12-31 23:59:59
。DATETIME
类似,但存储的是从1970-01-01 00:00:01 UTC
开始的秒数,范围从1970-01-01 00:00:01
到2038-01-19 03:14:07
。TIMESTAMP
还具有时区感知的特性。问题:为什么我在插入数据时,时间字段没有自动填充为当前时间?
原因:
解决方法:
TIMESTAMP
字段,可以设置为CURRENT_TIMESTAMP
。CREATE TABLE example (
id INT PRIMARY KEY,
data VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO example (id, data, created_at) VALUES (1, 'example data', NOW());
领取专属 10元无门槛券
手把手带您无忧上云