MySQL Workbench: 如何设置ON UPDATE和CURRENT_TIMESTAMP?

MySQL Workbench: 如何设置ON UPDATE和CURRENT_TIMESTAMP?

当你需要在MySQL中记录一个数据的“更新时间”时,你可以使用MySQL中的CURRENT_TIMESTAMP。但是,在你让这个数据开始存储这个值之后(即开始使用CURRENT_TIMESTAMP),你需要调整所有之前输入的行,让它们也能存储现在的“更新时间”。而且,如果你需要在更新了这个数据后,能够自动记录新的时间,你还需要使用“ON UPDATE CURRENT_TIMESTAMP”。

下面,我们将一步步地说明如何设置这些值。

阅读更多:MySQL 教程

使用CURRENT_TIMESTAMP在MySQL中表示时间

在MySQL中,CURRENT_TIMESTAMP表示时间的当前值。如果你需要在自己的表中使用这个值,你需要使用:

COLUMN_NAME TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Mysql

与此相对应的是,你也可以在“DATE”和“DATETIME”类型的列中使用CURRENT_TIMESTAMP。你可以自定义列名和可选的设置值,像这样:

CREATE TABLE my_table (
    id INT NOT NULL AUTO_INCREMENT,
    my_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    my_datetime DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);
Mysql

在上面的代码中,我们创建了一张名为my_table的表,并且定义了三列:id(主键),my_timestamp和my_datetime。my_timestamp列使用了当前时间戳的默认值,my_datetime列会将当前时间戳设为默认值,并在更新时更新。

设置ON UPDATE CURRENT TIMESTAMP

现在,我们将进一步讨论如何使用“ON UPDATE CURRENT TIMESTAMP”来自动更新时间戳。

在MySQL中,你可以使用下面这个代码来为需要自动更新时间戳的列设置默认值:

COLUMN_NAME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Mysql

在这个代码片段中,我们给“COLUMN_NAME”这一列设置了默认值为当前时间戳,并在这个数据更新时自动更新时间戳。

请看下面这个完整的例子:

CREATE TABLE my_table (
    id INT NOT NULL AUTO_INCREMENT,
    my_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    my_datetime DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    my_auto_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);
Mysql

在这个例子中,我们创建了一张名为my_table的表,并定义了三个列:id,my_timestamp和my_datetime。我们还定义了一个新的列:my_auto_timestamp,这个列在更新时,将自动更新为当前时间戳。

总结

MySQL Workbench中,你可以使用“CURRENT_TIMESTAMP”来记录当前时间戳,并使用“ON UPDATE CURRENT TIMESTAMP”来自动更新时间戳。如果你想让你的表具有这两个特性,你需要分别在表的列中添加代码片段,如:

COLUMN_NAME TIMESTAMP DEFAULT CURRENT_TIMESTAMP
COLUMN_NAME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Mysql

现在你已经知道如何在MySQL中使用这些代码了,希望这篇文章能对你有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册