如何處理 MySQL 日期時間欄位中的 NULL 值
MySQL 接受日期時間欄位中的 NULL 值,儘管存在常見的誤解。要將 NULL 值指派給日期時間字段,只需將變數留空或明確傳送 NULL 值即可。
使用MySQL 插入NULL 值
CREATE TABLE datetimetest (testcolumn DATETIME NULL DEFAULT NULL); INSERT INTO datetimetest (testcolumn) VALUES (NULL);
使用PHP 準備好的語句插入NULL 值
使用準備好的語句時語句,照常綁定變數。包含 NULL 值的 PHP 變數將在 MySQL 中儲存為 NULL。
$stmt = $conn->prepare("UPDATE users SET bill_date = ? WHERE user_id = ?"); if (isset($bill_date)) { $stmt->bind_param("si", $bill_date, $user_id); } else { $stmt->bind_param("si", NULL, $user_id); }
PHP 空變數注意事項
確保 PHP 變數包含 NULL,而不是空字串。空字串將導致錯誤:
Incorrect datetime value: '' for column 'bill_date' at row 1
因此,明確發送 NULL 或將變數留空以避免此問題。
以上是如何正確地將 NULL 值指派給 MySQL 中的日期時間欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!