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 ke 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!