Menetapkan Nilai Lalai untuk Lajur Datetime
Dalam jadual yang diberikan, dua lajur, registerDate dan lastVisitDate, memerlukan nilai lalainya dilaraskan. Objektifnya adalah untuk menetapkan registerDate kepada masa semasa dan lastVisitDate kepada nilai tertentu dan bukannya NULL lalai.
Menggunakan Modify Table
Pernyataan ALTER TABLE yang disediakan, manakala cuba mengubah suai nilai lalai, menghadapi ralat. Ini adalah kerana sebelum MySQL 5.6.5, menetapkan nilai lalai untuk lajur datetime tidak boleh dilakukan menggunakan kata kunci DEFAULT.
Penyelesaian untuk Pra-5.6.5
Untuk versi MySQL sebelum 5.6.5, pertimbangkan untuk menggunakan jenis data TIMESTAMP, yang secara automatik mengemas kini nilainya pada pengubahsuaian rekod. Walau bagaimanapun, hanya satu medan TIMESTAMP yang dikemas kini secara automatik dibenarkan setiap jadual.
Penyelesaian untuk MySQL 5.6.5 dan Kemudian
Bermula dengan MySQL 5.6.5, data DATETIME jenis menyokong nilai lalai dinamik. Ini membolehkan anda menetapkan registerDate kepada masa semasa menggunakan:
CREATE TABLE users ( registerDate DATETIME DEFAULT CURRENT_TIMESTAMP )
Menetapkan Nilai Lalai untuk lastVisitDate
Untuk menetapkan nilai lalai lastVisitDate kepada nilai tertentu ( cth., '0000-00-00 00:00:00'), anda boleh menggunakan yang berikut pernyataan:
ALTER TABLE users ALTER COLUMN lastVisitDate DATETIME DEFAULT '0000-00-00 00:00:00'
Dengan menggunakan pendekatan ini, anda boleh mengkonfigurasi nilai lalai untuk lajur masa tarikh dalam jadual pengguna untuk memenuhi keperluan yang anda inginkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Menetapkan Nilai Lalai untuk Lajur DATETIME dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!