Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để bạn đặt giá trị mặc định cho cột Ngày giờ trong MySQL?

CHỈNH SỬA QUAN TRỌNG: Hiện có thể đạt được điều này với các trường DATETIME kể từ MySQL 5.6.5 , hãy xem bài đăng khác dưới đây ...

Các phiên bản trước không thể làm điều đó với DATETIME ...

Nhưng bạn có thể làm điều đó với TIMESTAMP:

mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)

mysql> desc test;
+-------+-------------+------+-----+-------------------+-------+
| Field | Type        | Null | Key | Default           | Extra |
+-------+-------------+------+-----+-------------------+-------+
| str   | varchar(32) | YES  |     | NULL              |       | 
| ts    | timestamp   | NO   |     | CURRENT_TIMESTAMP |       | 
+-------+-------------+------+-----+-------------------+-------+
2 rows in set (0.00 sec)

mysql> insert into test (str) values ("demo");
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+------+---------------------+
| str  | ts                  |
+------+---------------------+
| demo | 2008-10-03 22:59:52 | 
+------+---------------------+
1 row in set (0.00 sec)

mysql>

CAVEAT: NẾU bạn xác định một cột với CURRENT_TIMESTAMP BẬT làm mặc định, bạn sẽ phải LUÔN chỉ định một giá trị cho cột này hoặc giá trị sẽ tự động đặt lại thành "bây giờ ()" khi cập nhật. Điều này có nghĩa là nếu bạn không muốn giá trị thay đổi, câu lệnh CẬP NHẬT của bạn phải chứa "[tên cột của bạn] =[tên cột của bạn]" (hoặc một số giá trị khác) hoặc giá trị sẽ trở thành "bây giờ ()". Kỳ lạ, nhưng đúng. Tôi đang sử dụng 5.5.56-MariaDB



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql nhận hồ sơ hoặc dữ liệu theo hàng ngày, hàng tuần, hàng tháng và hàng năm

  2. Cách chọn tập hợp các bản ghi ngày tháng gần đây nhất từ ​​bảng mysql

  3. nhiều truy vấn cùng một bảng nhưng ở các cột khác nhau mysql

  4. Cách lọc kết quả SQL trong một quan hệ có-nhiều-qua

  5. Tại sao chèn MySQL InnoDB chậm như vậy?