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 跟踪记录的最后一次修改时间。

posted on   及途又八  阅读(116)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示