在 MySQL 中,如果我想在向其他列插入 NULL 值的同時自動插入日期和時間,該怎麼做?


在 MySQL 中,我們可以透過將某列宣告為 DEFAULT CURRENT_TIMESTAMP,在向其他列中插入 NULL 值時自動向該列中插入當前日期和時間。在這種情況下,我們不能將要向其中插入 NULL 值的那一列宣告為 NOT NULL。

mysql> Create Table Testing1(Name Varchar(20),
RegStudent TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.15 sec)

上述查詢會建立一個名為 ‘Testing1’ 的表,其中包含一個名為 ‘Name’(未宣告為 ‘NOT NULL’)的列和另一個宣告為 DEFAULT CURRENT_TIMESTAMP 的名為 ‘RegDate’ 的列。現在,在 Name 列中插入 NULL 值時,當前日期和時間會自動插入到另一列中。

mysql> Insert into Testing1(Name) Values(NULL);
Query OK, 1 row affected (0.08 sec)

mysql> Insert into Testing1(Name) Values(NULL);
Query OK, 1 row affected (0.04 sec)

mysql> Select * from Testing1;
+------+---------------------+
| Name | RegStudent |
+------+---------------------+
| NULL | 2017-10-29 04:46:59 |
| NULL | 2017-10-29 04:47:02 |
+------+---------------------+
2 rows in set (0.05 sec)

從上述查詢中,我們可以看到,在 ‘Name’ 中插入 NULL 值時,日期和時間也會自動插入。

更新於: 2020 年 1 月 29 日

802 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告