Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Anda menetapkan nilai default untuk kolom MySQL Datetime?

EDIT PENTING: Sekarang dimungkinkan untuk mencapai ini dengan bidang DATETIME sejak MySQL 5.6.5 , lihat postingan lainnya di bawah...

Versi sebelumnya tidak dapat melakukannya dengan DATETIME...

Tapi Anda bisa melakukannya dengan 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>

PERINGATAN: JIKA Anda menentukan kolom dengan CURRENT_TIMESTAMP ON sebagai default, Anda harus SELALU menentukan nilai untuk kolom ini atau nilai akan secara otomatis mengatur ulang dirinya sendiri ke "sekarang()" pada pembaruan. Ini berarti bahwa jika Anda tidak ingin nilainya berubah, pernyataan UPDATE Anda harus berisi "[nama kolom Anda] =[nama kolom Anda]" (atau nilai lain) atau nilainya akan menjadi "sekarang()". Aneh, tapi benar. Saya menggunakan 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. Melarikan diri dari kutipan tunggal dalam PHP saat memasukkan ke MySQL

  2. Kesalahan:Klien tidak mendukung protokol otentikasi yang diminta oleh server; pertimbangkan untuk memutakhirkan klien MySQL

  3. MySQL Query untuk memilih data dari minggu lalu?

  4. Kueri hierarkis di MySQL

  5. Menginstal Percona XtraDB Cluster di CentOS 7