created_at需要是TIMESTAMP类型的,并且由mysql自动生成
要将 created_at
字段设置为 TIMESTAMP
类型,并且让 MySQL 自动生成插入时的时间戳,您可以在创建表时为该字段指定默认值为 CURRENT_TIMESTAMP
。这样,当新记录插入时,MySQL 会自动生成当前的时间戳。
下面是更新后的表创建语句,包含您需要的 created_at
字段自动生成功能:
示例表创建语句
CREATE TABLE your_table_name (
gid BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(255),
name VARCHAR(255),
alias VARCHAR(255),
display VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 自动生成插入时的时间戳
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 自动生成和更新时更新的时间戳
created_by BIGINT,
updated_by BIGINT,
description TEXT
);
解释
-
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
:TIMESTAMP
数据类型用于存储日期和时间。DEFAULT CURRENT_TIMESTAMP
表示当插入新记录时,MySQL 会自动将created_at
字段的值设置为当前的日期和时间。
-
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
:- 该字段在插入时设置为当前时间,并且在更新记录时会自动更新为最新的时间戳。这确保了
updated_at
字段始终反映最后一次修改的时间。
- 该字段在插入时设置为当前时间,并且在更新记录时会自动更新为最新的时间戳。这确保了
注意事项
- 自动生成的
created_at
字段值只会在插入时生成,并且不会在后续的更新操作中更改。 updated_at
字段则不仅会在插入时设置初始值,还会在记录更新时自动修改为最新的时间戳。
通过这种方式,您可以确保 created_at
字段由 MySQL 自动生成,并且可以用 updated_at
跟踪记录的最后一次修改时间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?