当前位置: 首页 > news >正文

sql CURRENT_TIMESTAMP

CURRENT_TIMESTAMP 是 SQL 中的一个时间函数关键字,用于获取当前数据库服务器的日期和时间(精确到秒或毫秒,取决于数据库配置和字段类型)。在 MySQL 中,它既可以用作列的默认值,也可以直接在查询中使用。


1. 基本用法

SELECT CURRENT_TIMESTAMP;

等价于:

SELECT NOW();

返回示例

2025-08-15 09:42:35

2. 常见使用场景

场景 1:插入当前时间

INSERT INTO orders (order_name, created_at) 
VALUES ('订单A', CURRENT_TIMESTAMP);

作用:在数据插入时记录当前时间。


场景 2:作为列的默认值

CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

作用:如果插入数据时不指定 created_at,会自动使用插入时的时间。


场景 3:自动更新时间(配合 ON UPDATE

CREATE TABLE posts (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(100),updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

作用:每次更新该行数据时,updated_at 会自动刷新为当前时间。


3. 特点

  • 精度:MySQL 5.6.4+ 开始支持毫秒(CURRENT_TIMESTAMP(3) 表示精确到毫秒)。

  • 时区:返回值受 服务器时区 影响,可以用 SET time_zone 修改。

  • 类型限制:DEFAULT CURRENT_TIMESTAMP 只能用于 TIMESTAMPDATETIME 类型列。

  • 多列限制(老版本 MySQL):MySQL 5.5 以前,CURRENT_TIMESTAMP 只能用在一个列上作为默认值或自动更新值,之后版本放宽了限制。


4. 精度控制

SELECT CURRENT_TIMESTAMP(3); -- 精确到毫秒
SELECT CURRENT_TIMESTAMP(6); -- 精确到微秒

http://www.dtcms.com/a/333254.html

相关文章:

  • 【DSP28335 事件驱动】唤醒沉睡的 CPU:外部中断 (XINT) 实战
  • java注释功能
  • ESP32-C3_TCP
  • Linux操作系统从入门到实战(二十二)命令行参数与环境变量
  • 信刻光盘摆渡系统案例——某省纪委
  • 微服务容错与监控体系设计
  • 生存主义:隐形异变 (Survivalist: Invisible Strain)免安装中文版
  • Leetcode 最小生成树系列(1)
  • 解决zabbix图片中文乱码
  • Mac(二)Homebrew 的安装和使用
  • 前端更改浏览器默认滚动条样式
  • 716SJBH高职院校财务收费系统的设计与实现
  • 25. 移动端-uni-app
  • 【论文解读】DDRNet:深度双分辨率网络在实时语义分割中的结构与原理全面剖析
  • LeetCode 905.按奇偶排序数组
  • 【机器学习深度学习】客观评估主观评估:落地场景权重比例
  • Rust 中 i32 与 *i32 的深度解析
  • 大华相机RTSP无法正常拉流问题分析与解决
  • flume实战:从零配置到启动运行的完整指南
  • 【Ubuntu 中安全删除 Windows 分区并优化磁盘空间利用】
  • redis-sentinel基础概念及部署
  • 机械学习---- PCA 降维深度解析
  • Vue响应式系统在超大型应用中的性能瓶颈
  • 深度学习实战115-基于Qwen3的多智能体协同深度数据分析:架构、流程与实现
  • 光伏工单智能管理,故障处理快人一步
  • 金融业务安全增强方案:国密SM4/SM3加密+硬件加密机HSM+动态密钥管理+ShardingSphere加密
  • 不同DuckDB插件对不同工具生成的xlsx文件读取速度的比较
  • sqlsever的sql转postgresql的sql的方言差异
  • 日本CN2服务器租用多少钱
  • Linux -- 线程概念与控制