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 2024-10-19 11:08  五月の花  阅读(16)  评论(0编辑  收藏  举报

导航