Computer >> Máy Tính >  >> Lập trình >> MySQL

Cột ngày trong MySQL tự động điền với ngày hiện tại?

Bạn có thể sử dụng now () với tự động điền mặc định và ngày giờ hiện tại cho việc này. Sau đó, bạn có thể trích xuất phần ngày bằng cách sử dụng hàm date ().

Trường hợp 1:

Cú pháp như sau:

yourDateColumnName date default ‘yourDateValue’;

Trường hợp 2:

Cú pháp như sau:

yourDateColumnName datetime default now();

Để hiểu những điều trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:

mysql> create table DefaultCurrentdateDemo
   -> (
   -> LoginDate datetime default now()
   -> );
Query OK, 0 rows affected (0.59 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:

mysql> insert into DefaultCurrentdateDemo values();
Query OK, 1 row affected (0.18 sec)

mysql> insert into DefaultCurrentdateDemo values('2017-11-19');
Query OK, 1 row affected (0.16 sec)

mysql> insert into DefaultCurrentdateDemo values('2018-10-21');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DefaultCurrentdateDemo values();
Query OK, 1 row affected (0.23 sec)

mysql> insert into DefaultCurrentdateDemo values('2020-12-24');
Query OK, 1 row affected (0.12 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:

mysql> select *from DefaultCurrentdateDemo;

Sau đây là kết quả:

+---------------------+
| 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 |
+---------------------+
5 rows in set (0.00 sec)

Nếu bạn chỉ muốn trích xuất ngày tháng, thì hãy sử dụng phương thức date (). Truy vấn như sau:

mysql> select date(LoginDate) as OnlyDate from DefaultCurrentdateDemo;

Sau đây là kết quả:

+------------+
| OnlyDate |
+------------+
| 2019-01-12 |
| 2017-11-19 |
| 2018-10-21 |
| 2019-01-12 |
| 2020-12-24 |
+------------+
5 rows in set (0.00 sec)

Hãy để chúng tôi đặt giá trị mặc định với một số ngày.

Truy vấn để tạo giá trị mặc định cho cột ngày như sau:

mysql> create table DefaultDate
   -> (
   -> LoginDate date default '2019-01-12'
   -> );
Query OK, 0 rows affected (0.53 sec)

Nếu bạn không chuyển bất kỳ giá trị nào vào cột thì giá trị mặc định sẽ được cung cấp cho cột. Truy vấn để chèn bản ghi như sau:

mysql> insert into DefaultDate values();
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng

câu lệnh chọn. Truy vấn như sau:

mysql> select *from DefaultDate;

Sau đây là kết quả:

+------------+
| LoginDate  |
+------------+
| 2019-01-12 |
+------------+
1 row in set (0.00 sec)