Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyimpan Nilai NULL dalam Medan Datetime dalam MySQL?

Bagaimanakah Saya Boleh Menyimpan Nilai NULL dalam Medan Datetime dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-13 09:43:021026semak imbas

How Can I Store NULL Values in Datetime Fields in MySQL?

Menyimpan Nilai NULL dalam Medan Datetime dalam MySQL

Dalam MySQL, medan datetime biasanya tidak dibenarkan mengandungi nilai NULL. Ini boleh menimbulkan cabaran apabila anda perlu mewakili tarikh kosong atau tidak ditentukan.

Walau bagaimanapun, terdapat penyelesaian mudah: MySQL membenarkan nilai NULL dalam medan datetime. Untuk memanfaatkan ini, anda boleh menggunakan sintaks berikut:

CREATE TABLE table_name (
  datetime_field DATETIME NULL DEFAULT NULL
);

Dengan menetapkan nilai DEFAULT kepada NULL, anda memastikan bahawa medan dimulakan dengan NULL dan boleh menerima nilai NULL daripada kemas kini PHP.

Untuk mengemas kini rekod tanpa menetapkan medan masa tarikh, cuma tinggalkannya daripada pertanyaan kemas kini. Contohnya:

$stmt = $conn->prepare("UPDATE table_name SET field1 = ... WHERE id = ...");

Dalam contoh ini, medan datetime akan kekal NULL jika anda tidak memberikan nilai untuknya dalam parameter terikat.

Sebagai alternatif, untuk menetapkan medan datetime secara eksplisit kepada NULL, ikat pembolehubah PHP kepada parameter SQL seperti berikut:

$stmt->bindParam(':datetime_field', $datetime_field, PDO::PARAM_STR | PDO::PARAM_NULL);

Memastikan pembolehubah PHP anda sebenarnya mengandungi NULL akan menghalang ralat "Nilai masa tarikh yang salah". Dengan mengikuti garis panduan ini, anda boleh menyimpan nilai NULL dengan berkesan dalam medan datetime dalam MySQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Nilai NULL dalam Medan Datetime dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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