MySQL CURRENT_TIMESTAMP 的使用

MySQL CURRENT_TIMESTAMP 的使用

在MySQL中,CURRENT_TIMESTAMP是一个可以在数据库中存储时间戳的常用函数。它可以用于记录数据的创建时间和最后更新时间。当使用CREATE TABLE语句创建表时,可以使用ON UPDATE CURRENT_TIMESTAMP选项来指定该字段在每次更新时自动更新为当前时间。

下面我们来看一个示例:

CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
SQL

在上面的示例中,我们定义了一个名为”products”的表,它包含了id、name、description、created_at和updated_at五个字段。其中,created_at字段使用了CURRENT_TIMESTAMP函数来指定该字段在插入数据时的时间戳;而updated_at字段则使用了ON UPDATE CURRENT_TIMESTAMP选项,以便在每次更新时自动更新为当前时间戳。

现在,我们来插入一条数据,看看这个表是如何工作的:

INSERT INTO products (name, description) VALUES ('MacBook Pro', '13-inch M1 chip');
SQL

插入后,我们可以使用SELECT语句来查询这个表的内容:

SELECT * FROM products;
SQL

查询结果如下:

+----+--------------+------------------+---------------------+---------------------+
| id | name         | description      | created_at          | updated_at          |
+----+--------------+------------------+---------------------+---------------------+
|  1 | MacBook Pro  | 13-inch M1 chip  | 2022-09-15 15:21:48 | 2022-09-15 15:21:48 |
+----+--------------+------------------+---------------------+---------------------+
Mysql

可以看到,我们的插入命令成功地将数据插入了表中,并在created_at字段中记录了插入时的时间戳。由于updated_at字段也是使用CURRENT_TIMESTAMP函数生成的,默认情况下也会设置为当前时间戳。

现在,让我们来更新这个表中的数据,看看ON UPDATE CURRENT_TIMESTAMP选项的作用:

UPDATE products SET description = '16-inch M1 Pro chip' WHERE id = 1;
SQL

更新后,我们再次使用SELECT语句来查询这个表的内容:

SELECT * FROM products;
SQL

查询结果如下:

+----+--------------+-----------------------+---------------------+---------------------+
| id | name         | description           | created_at          | updated_at          |
+----+--------------+-----------------------+---------------------+---------------------+
|  1 | MacBook Pro  | 16-inch M1 Pro chip   | 2022-09-15 15:21:48 | 2022-09-15 15:22:18 |
+----+--------------+-----------------------+---------------------+---------------------+
Mysql

可以看到,我们的更新命令成功地将数据更新了,并在updated_at字段中记录了更新时的时间戳。由于这个字段中使用了ON UPDATE CURRENT_TIMESTAMP选项,所以该字段在每次更新时自动更新为当前时间戳。

阅读更多:MySQL 教程

总结

通过使用MySQL中的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP选项,我们可以轻松地记录数据的创建时间和最后更新时间。这对于许多需要跟踪数据更新历史的应用程序来说是非常有用的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册