如何处理 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中文网其他相关文章!