在MySQL中添加一个新的带有当前时间作为默认值的列
在MySQL中添加新列有多种方法,但是如何添加一个带有当前时间作为默认值的列可能会让一些人感到困惑。在本文中,我们将介绍如何在MySQL中添加一个新的带有当前时间作为默认值的列。
阅读更多:MySQL 教程
准备工作
为了实现本文中的示例,您需要完成以下准备工作:
- 安装MySQL。如果您没有安装,可以从MySQL官方网站下载并安装最新版本。
- 连接MySQL。您可以使用MySQL命令行客户端或任何MySQL GUI工具(如MySQL Workbench)连接到MySQL服务器。
创建表
我们首先需要在MySQL中创建一张表,以便我们后续可以在其中添加带有默认值的新列。请复制以下SQL查询,并执行它以创建一个名为“persons”的表:
CREATE TABLE persons (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
这将创建一个包含三列的表:
- id – 整数类型的主键,自动递增。
- name – 字符串类型的非空列,用于存储人员姓名。
- created_at – 日期时间类型的列,将使用当前时间作为默认值。
插入数据
接下来,我们需要向“persons”表中插入一些数据。复制以下SQL查询并执行它,以插入两个人员记录:
INSERT INTO persons (name) VALUES ('Alice'), ('Bob');
这条SQL查询将自动插入当前时间作为每个新记录的“created_at”列的默认值。
查询数据
我们可以通过以下SQL查询来检查新行是否具有正确的值:
SELECT * FROM persons;
这将返回以下结果:
id | name | created_at |
---|---|---|
1 | Alice | 2022-03-09 10:12:34 |
2 | Bob | 2022-03-09 10:12:34 |
因为我们没有为插入的记录指定“created_at”列的值,MySQL自动使用当前时间作为默认值。在这个例子中,所有新记录都具有相同的时间戳,因为这些记录在同一秒内插入。
结论
在MySQL中添加一个新的带有当前时间作为默认值的列很简单。只需在表定义中将所需列的默认值设置为CURRENT_TIMESTAMP即可。这将自动为添加到该列的每条新记录设置当前时间戳。