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

posted @   xuzhujack  阅读(739)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
;
点击右上角即可分享
微信分享提示