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

Trong MySQL, làm cách nào để tôi có thể tự động chèn ngày và giờ khi chèn giá trị NULL vào các cột khác?


Trong MySQL, chúng ta có thể tự động chèn ngày và giờ hiện tại vào một cột khi chèn giá trị NULL vào các cột khác bằng cách khai báo cột đó là DEFAULT CURRENT_TIMESTAMP. Trong trường hợp này, chúng ta không thể khai báo cột NOT NULL mà chúng ta muốn chèn giá trị NULL.

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

Truy vấn trên sẽ tạo một bảng ‘Testing1’ với một cột có tên là ‘Tên’ (không được khai báo là ‘NOT NULL’) và cột khác có tên là ‘Ngày đăng ký’ được khai báo là DEFAULT CURRENT_TIMESTAMP. Bây giờ, khi chèn cột Tên giá trị NULL, ngày và giờ hiện tại sẽ tự động được chèn vào cột khác.

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)

Từ các truy vấn trên, chúng ta có thể thấy rằng khi chèn các giá trị NULL trong 'Tên', ngày và giờ cũng được tự động chèn.