如何在MySQL表中添加“创建时间”列并设置时间戳?


你需要使用ALTER命令来在MySQL中向已创建的表添加“创建时间”列。

让我们首先创建一个表。创建表的查询如下所示。这是没有“创建时间”列的表

mysql> create table formDemo
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Email varchar(128),
   - > PhoneNumber varchar(15),
   - > Country varchar(30),
   - > Platform varchar(40)
   - > );
Query OK, 0 rows affected (0.53 sec)

现在实现上述语法,添加一个类型为timestamp,默认值为CURRENT_TIMESTAMP的“创建时间”列。

注意 - 请记住,如果在“创建时间”之间留有空格,则需要使用反引号。

以下是为上述表添加“创建时间”列的查询。“created_at”列是一个TIMESTAMP列,其默认值设置为CURRENT_TIMESTAMP,如下面的查询所示

mysql> alter table formDemo
   - > add column `created at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.42 sec)
Records: 0 Duplicates: 0 Warnings: 0

现在使用DESC命令再次检查表的描述。

查询如下所示

mysql> DESC formDemo;

以下是显示MySQL中“创建时间”列的输出

+-------------+--------------+------+-----+-------------------+----------------+
| Field       | Type         | Null | Key | Default           | Extra          |
+-------------+--------------+------+-----+-------------------+----------------+
| Id          | int(11)      | NO   | PRI | NULL              | auto_increment |
| Email       | varchar(128) | YES  |     | NULL              |                |
| PhoneNumber | varchar(15)  | YES  |     | NULL              |                |
| Country     | varchar(30)  | YES  |     | NULL              |                |
| Platform    | varchar(40)  | YES  |     | NULL              |                |
| created at  | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+-------------+--------------+------+-----+-------------------+----------------+
6 rows in set (0.01 sec)

查看上面的示例输出, “创建时间”列已成功添加。

更新于:2019年7月30日

4K+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告