Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Tetapkan SEKARANG() sebagai Nilai Lalai untuk Lajur DateTime dalam MySQL?
Menetapkan NOW() sebagai Nilai Lalai untuk Datetime Datatype
Apabila mencipta jadual pangkalan data, adalah berfaedah untuk menetapkan nilai lalai untuk lajur kepada memastikan kemasukan data yang konsisten. Untuk jenis data datetime, selalunya wajar untuk menggunakan masa semasa sebagai nilai lalai.
Cabaran Pengubahsuaian Jadual Sedia Ada
Dalam MySQL, tetapkan nilai lalai NOW () untuk lajur masa tarikh sedia ada boleh mencabar. Mesej ralat yang ditemui semasa cuba menetapkan nilai lalai kepada NOW() menunjukkan bahawa ini ialah nilai lalai yang tidak sah.
Penyelesaian untuk MySQL 5.6.5 dan Ke Atas
Nasib baik, MySQL 5.6.5 memperkenalkan jenis data DATETIME, yang membenarkan nilai lalai dinamik. Untuk menetapkan nilai lalai kepada NOW() semasa mencipta jadual, gunakan sintaks berikut:
CREATE TABLE users ( registerDate DATETIME DEFAULT CURRENT_TIMESTAMP )
Penyelesaian Sebelum MySQL 5.6.5
Untuk versi MySQL sebelum 5.6.5, jenis data TIMESTAMP mesti digunakan untuk mengemas kini nilai datetime secara automatik pada pengubahsuaian rekod. Walau bagaimanapun, perlu diingat bahawa hanya satu medan TIMESTAMP yang dikemas kini secara automatik boleh wujud bagi setiap jadual.
CREATE TABLE users ( registerDate TIMESTAMP )
Untuk mengelakkan nilai cap masa daripada dikemas kini pada KEMASKINI, tambah DEFAULT CURRENT_TIMESTAMP pada definisi medan TIMESTAMP:
CREATE TABLE users ( registerDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP )
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tetapkan SEKARANG() sebagai Nilai Lalai untuk Lajur DateTime dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!