如何在 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中插入值时,日期和时间也会自动插入。
借助上述概念,我们还可以确切地知道其他列中的值是在什么日期和时间插入的。