Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใน MySQL ฉันจะแทรกวันที่และเวลาโดยอัตโนมัติในขณะที่แทรกค่า NULL ลงในคอลัมน์อื่นได้อย่างไร


ใน MySQL เราสามารถแทรกวันที่และเวลาปัจจุบันโดยอัตโนมัติในคอลัมน์ที่แทรกค่า NULL ในคอลัมน์อื่นๆ โดยการประกาศคอลัมน์นั้นเป็น DEFAULT CURRENT_TIMESTAMP ในกรณีนี้ เราไม่สามารถประกาศคอลัมน์ NOT NULL ที่เราต้องการแทรกค่า 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') และคอลัมน์อื่นที่ชื่อ 'RegDate' ที่ประกาศเป็น DEFAULT CURRENT_TIMESTAMP ตอนนี้ ในการแทรกคอลัมน์ชื่อค่า 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)

จากข้อความค้นหาด้านบน เราจะเห็นได้ว่าเมื่อแทรกค่า NULL ใน "ชื่อ" วันที่และเวลาจะถูกแทรกโดยอัตโนมัติด้วย