Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Nilai Lalai untuk Lajur DATETIME dalam MySQL?

Bagaimana untuk Menetapkan Nilai Lalai untuk Lajur DATETIME dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-12-17 20:55:15559semak imbas

How to Set Default Values for DATETIME Columns in MySQL?

Menetapkan Nilai Lalai untuk Lajur Datetime dalam MySQL

Dalam MySQL, menetapkan nilai lalai untuk lajur Datetime berbeza daripada getdate() SQL Server fungsi.

Versi MySQL sebelum 5.6.5 tidak membenarkan nilai lalai untuk Medan DATETIME. Walau bagaimanapun, anda boleh menggunakan TIMESTAMP sebaliknya:

CREATE TABLE test (
  str VARCHAR(32),
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Memasukkan baris tanpa menyatakan cap masa akan mengisinya secara automatik dengan masa semasa:

INSERT INTO test (str) VALUES ('demo');

Awas: Menggunakan CURRENT_TIMESTAMP sebagai lalai boleh membawa kepada tingkah laku yang tidak dijangka semasa kemas kini. Untuk mengekalkan cap masa asal, anda mesti menetapkan lajur secara eksplisit kepada nilai semasanya:

UPDATE test SET ts = ts;

MySQL 5.6.5 dan Kemudian

MySQL 5.6.5 memperkenalkan sokongan untuk nilai lalai untuk medan DATETIME:

CREATE TABLE test2 (
  str VARCHAR(32),
  dt DATETIME DEFAULT '2000-01-01 00:00:00'
);

Kaedah ini diutamakan lebih menggunakan TIMESTAMP untuk menetapkan nilai lalai untuk lajur datetime.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Lalai untuk Lajur DATETIME dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn