Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Nilai Lalai untuk Lajur DATETIME dalam 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!