MySQL 中使用 CURRENT_TIMESTAMP 作为默认值
在MySQL中,我们可以使用DEFAULT关键字为某一列指定默认值。当我们插入一条数据时,如果没有为该列指定具体值,则会使用该列的默认值。
例如,我们为一个用户表创建一列名为create_time的时间戳,默认值为当前时间:
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
接着,当我们插入一条数据时,并不需要手动为create_time指定值,该列会自动使用当前时间作为默认值:
INSERT INTO user (name) VALUES ('Alice');
查询该数据:
SELECT * FROM user;
+----+-------+---------------------+
| id | name | create_time |
+----+-------+---------------------+
| 1 | Alice | 2022-01-19 08:00:00 |
+----+-------+---------------------+
CURRENT_TIMESTAMP是MySQL的一个内置函数,它返回当前的时间戳,包括日期和时间。
我们还可以使用该函数为表中的其他列指定默认值,例如:
CREATE TABLE article (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
在该示例中,我们为create_time和update_time两列分别指定了默认值。其中,update_time的默认值使用了ON UPDATE CURRENT_TIMESTAMP语句,该语句会在更新数据时自动将该列的值更新为当前时间戳。
阅读更多:MySQL 教程
总结
在MySQL中,我们可以使用CURRENT_TIMESTAMP作为DEFAULT关键字的默认值,自动为时间戳列指定当前时间戳。此外,我们还可以使用该函数为其他列指定默认时间戳值。这些特性可以提高数据录入的效率,并且保证时间戳的准确性。
极客教程