Rumah > pangkalan data > tutorial mysql > Mengapa `DEFAULT CURRENT_DATE` Tidak Berfungsi dalam MySQL (dan Bilakah Ianya?)

Mengapa `DEFAULT CURRENT_DATE` Tidak Berfungsi dalam MySQL (dan Bilakah Ianya?)

Barbara Streisand
Lepaskan: 2024-12-10 06:19:14
asal
356 orang telah melayarinya

Why Doesn't `DEFAULT CURRENT_DATE` Work in MySQL (and When Does It?)

CURRENT_DATE/CURDATE() sebagai Default DATE Value Fix

Walaupun penampilannya mudah, tetapkan CURRENT_DATE atau CURDATE() sebagai nilai lalai untuk lajur DATE menggunakan sintaks di bawah mungkin tidak fungsi:

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)
Salin selepas log masuk

Sebab:

Walaupun kod ini mungkin kelihatan intuitif, ia gagal disebabkan oleh pengehadan MySQL. Menurut dokumentasi, klausa DEFAULT mewajibkan nilai malar untuk lajur. Fungsi atau ungkapan, seperti CURRENT_DATE, tidak dibenarkan.

Penyelesaian:

Sebelum ini, isu ini berterusan untuk versi MySQL sebelum 8.0.13. Walau bagaimanapun, dalam MySQL 8.0.13 dan lebih baru, anda kini boleh menggunakan CURRENT_DATE() atau CURDATE() sebagai nilai lalai untuk lajur DATE, menghapuskan keperluan untuk penyelesaian.

Atas ialah kandungan terperinci Mengapa `DEFAULT CURRENT_DATE` Tidak Berfungsi dalam MySQL (dan Bilakah Ianya?). 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