如何在表中添加"created at"列以设置 MySQL 中的时间戳?

mysqlmysqli database

您需要使用 ALTER 命令将创建的列添加到 MySQL 中已创建的表中。

我们首先创建一个表。创建表的查询如下。这是没有 “created at” 列的表。

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)

现在实现上述语法以添加类型为时间戳且默认值为 CURRENT_TIMESTAMP 的 “created at” 列。

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

以下是为上表添加 “created at” 列的查询。“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 中 “created at” 列的输出

+-------------+--------------+------+-----+-------------------+----------------+
| 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)

看上面的示例输出,“created at” 列已成功添加。


相关文章