如何在将值插入其他 MySQL 列时自动插入当前日期和时间?


在 MySQL 中,我们可以通过将一列声明为 DEFAULT CURRENT_TIMESTAMP,在向另一列中插入值时将当前日期和时间自动插入到该列中。

示例

mysql> Create table testing
   -> (
   -> StudentName varchar(20) NOT NULL,
   -> RegDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
   -> );
Query OK, 0 rows affected (0.49 sec)

上面的查询将创建一个名为“testing”的表,其中一列名为 StudentName,另一列名为“RegDate”,并声明为 DEFAULT CURRENT_TIMESTAMP。现在,在向 StudentName 列中插入值(例如姓名)时,当前日期和时间将自动插入到另一列中。

mysql> Insert into testing(StudentName) values ('Ram');
Query OK, 1 row affected (0.14 sec)

mysql> Insert into testing(StudentName) values ('Shyam');
Query OK, 1 row affected (0.06 sec)

mysql> Select * from testing;
+-------------+---------------------+
| StudentName | RegDate             |
+-------------+---------------------+
| Ram         | 2017-10-28 21:24:24 |
| Shyam       | 2017-10-28 21:24:30 |
+-------------+---------------------+
2 rows in set (0.02 sec)

mysql> Insert into testing(StudentName) values ('Mohan');
Query OK, 1 row affected (0.06 sec)

mysql> Select * from testing;
+-------------+---------------------+
| StudentName | RegDate             |
+-------------+---------------------+
| Ram         | 2017-10-28 21:24:24 |
| Shyam       | 2017-10-28 21:24:30 |
| Mohan       | 2017-10-28 21:24:47 |
+-------------+---------------------+
3 rows in set (0.00 sec)

从上面的查询中,我们可以看到在向 StudentName 中插入值时,日期和时间也自动插入了。

借助上面的概念,我们还可以确切地知道插入另一列中值的日期和时间。

更新于:2020 年 6 月 19 日

2K+ 次浏览

开启你的 职业

完成课程获得认证

开始
广告