MySQL中的时间戳字段用于存储日期和时间信息。时间戳是一种数据类型,它可以自动记录插入或更新记录时的当前时间。
MySQL中的时间戳类型主要有两种:
TIMESTAMP:存储从1970年1月1日午夜(格林尼治时间)以来的秒数。DATETIME:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS。时间戳字段常用于以下场景:
假设我们有一个名为users的表,我们希望在插入或更新记录时自动记录创建时间和最后修改时间。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);在这个示例中:
created_at字段在插入记录时自动设置为当前时间。updated_at字段在插入和更新记录时自动设置为当前时间。原因:
DEFAULT CURRENT_TIMESTAMP或ON UPDATE CURRENT_TIMESTAMP。解决方法:
ALTER TABLE users
MODIFY created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
MODIFY updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;希望这些信息对你有所帮助!如果有更多问题,请随时提问。