关于Mysql timestamp的两属性CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP
关于timestamp的两属性CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP,使用示例如下:
CREATE TABLE `upload_table` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(50) NOT NULL COMMENT '名',
`comment` varchar(200) DEFAULT NULL COMMENT '备注',
`s_id` bigint(20) DEFAULT NULL COMMENT 'ID',
`owner` varchar(50) NOT NULL COMMENT 'owner',
`all_count` int(11) NOT NULL DEFAULT '0' COMMENT '总条数',
`insert_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`succ_count` int(11) DEFAULT '0' COMMENT '成功条数',
`repeat_count` int(11) DEFAULT '0' COMMENT '重复条数',
`fail_count` int(11) DEFAULT '0' COMMENT '失败条数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='XXXX’;
1、当要向数据库执行insert操作时,insert_time字段属性设为DEFAULT
CURRENT_TIMESTAMP,则在这个字段没有set值时插入当前系统时间
,注意如果Insert时给insert_time赋了NULL值,则不会再插入当前时间2、当执行insert操作或update操作是,字段update_time有DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP属性。
则字段update_time如果没有显示更新此字段赋有效值,(即使update时,update_time=null也会被更新为当前时间)它的值也会跟着更新为当前UPDATE操作时的时间。