Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Tetapkan SEKARANG() sebagai Nilai Lalai untuk Lajur DateTime dalam MySQL?

Bagaimanakah Saya Boleh Tetapkan SEKARANG() sebagai Nilai Lalai untuk Lajur DateTime dalam MySQL?

Susan Sarandon
Lepaskan: 2025-01-03 13:59:41
asal
585 orang telah melayarinya

How Can I Set NOW() as the Default Value for a DateTime Column in 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
)
Salin selepas log masuk

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
)
Salin selepas log masuk

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
)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan