1. 将列属性设置为 “TIMESTAMP”,设置其 default 为 “CURRENT_TIMESTAMP”。
但这种做法可以在插入的时候不需做其他 工作,而让数据库自动把时间设置为当前时间;但是其只对“TIMESTAMP"有效。
eg:
create table now (
id int not null primary key auto_increment,
nowtime TIMESTAMP default CURRENT_TIMESTAMP
);
下面 是 TIMESTAMP 的详细信息:
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。 TIMESTAMP值显示尺寸的格式如下表所示: +--------------------+----------------------------+ | 列类型 | 显示格式 | | TIMESTAMP(14) | YYYYMMDDHHMMSS | | TIMESTAMP(12) | YYMMDDHHMMSS | | TIMESTAMP(10) | YYMMDDHHMM | | TIMESTAMP(8) | YYYYMMDD | | TIMESTAMP(6) | YYMMDD | | TIMESTAMP(4) | YYMM | | TIMESTAMP(2) | YY | +---------------------+----------------------------+ “完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的显示尺寸创造
因此可以根据需要,改变TIMESTAMP的长度来自行定制存入的时间的信息。
另外 TIMESTAMP还有一个ON UPDATE CURRENT_TIMESTAMP属性,设置这个属性后, 如果执行 update 操作,不论TIMESTAMP值有无变化,统统设置为 当前时间。
注意:一个表只能有一个timestamp列的默认值为当前日期时间。
2.在插入时候用”NOW()“函数
insert into now (id ,nowtime) values('1',NOW() )
本文介绍了在数据库中使用TIMESTAMP类型自动记录时间的方法。包括设置默认值为CURRENT_TIMESTAMP实现插入时自动填充当前时间,以及使用ON UPDATE CURRENT_TIMESTAMP属性确保更新时自动更新时间。此外还提到了使用NOW()函数手动插入当前时间的另一种方式。
5429

被折叠的 条评论
为什么被折叠?



