关于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操作时的时间。