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

mysqlmysqli database

在 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中插入值时,日期和时间也会自动插入。

借助上述概念,我们还可以确切地知道其他列中的值是在什么日期和时间插入的。


相关文章