当先锋百科网

首页 1 2 3 4 5 6 7

MySQL使用时间戳类型来存储日期和时间。时间戳指一种自动更新日期和时间的值。当插入新行时,如果指定了时间戳列,则数据库将自动插入当前的日期和时间。

CREATE TABLE table_name (
id INT(11) NOT NULL AUTO_INCREMENT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);

在上面的示例中,created_at列指定DEFAULT CURRENT_TIMESTAMP,这意味着当插入新行时,MySQL将自动插入当前的日期和时间。

updated_at列使用DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。这意味着当更新行时,该列将自动更新为当前的日期和时间。

INSERT INTO table_name (id, ...) VALUES (1, ...);

在上面的示例中,我们没有指定created_at和updated_at列的值。由于DEFAULT CURRENT_TIMESTAMP,MySQL将自动插入当前的日期和时间。

UPDATE table_name SET ... WHERE id = 1;

在上面的示例中,我们没有更新updated_at列的值。由于DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,MySQL将自动更新这个列的值为当前的日期和时间。

通过使用时间戳类型,我们可以将MySQL数据库的日期和时间管理自动化,并提高查询效率。然而,仍然需要小心处理时区和数据类型的问题。