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

MySQL ตั้งค่า Date Column ให้ใส่วันที่ปัจจุบันอัตโนมัติ

ใช้ DEFAULT NOW() สำหรับ DATETIME หรือ DEFAULT 'date' สำหรับ DATE

กรณีที่ 1: DATETIME DEFAULT NOW()

yourColumnName DATETIME DEFAULT NOW();

สร้างตาราง DefaultCurrentdateDemo:

mysql> CREATE TABLE DefaultCurrentdateDemo (LoginDate DATETIME DEFAULT NOW());

Insert บางแถวใส่ค่า บางแถวไม่ใส่ (จะได้ค่าปัจจุบัน):

mysql> INSERT INTO DefaultCurrentdateDemo VALUES();
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2017-11-19');
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2018-10-21');
mysql> INSERT INTO DefaultCurrentdateDemo VALUES();
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2020-12-24');

ผลลัพธ์ (แถวที่ไม่ใส่ค่า ได้เวลาปัจจุบัน)

+---------------------+
| LoginDate           |
+---------------------+
| 2019-01-12 20:33:51 |
| 2017-11-19 00:00:00 |
| 2018-10-21 00:00:00 |
| 2019-01-12 20:34:37 |
| 2020-12-24 00:00:00 |
+---------------------+

ดึงเฉพาะวันที่ (ตัดเวลาออก):

mysql> SELECT DATE(LoginDate) AS OnlyDate FROM DefaultCurrentdateDemo;
+------------+
| OnlyDate   |
+------------+
| 2019-01-12 |
| 2017-11-19 |
| 2018-10-21 |
| 2019-01-12 |
| 2020-12-24 |
+------------+

กรณีที่ 2: DATE DEFAULT ค่าคงที่

mysql> CREATE TABLE DefaultDate (LoginDate DATE DEFAULT '2019-01-12');
mysql> INSERT INTO DefaultDate VALUES();
+------------+
| LoginDate  |
+------------+
| 2019-01-12 |
+------------+

สรุป: ใช้ DEFAULT NOW() สำหรับ DATETIME/TIMESTAMP, ใช้ DEFAULT 'YYYY-MM-DD' สำหรับ DATE