MySQL の日時フィールドで NULL 値を処理する方法
一般的な誤解にもかかわらず、MySQL は日時フィールドで NULL 値を受け入れます。 NULL 値を日時フィールドに割り当てるには、変数を空のままにするか、値 NULL を明示的に送信します。
MySQL を使用した NULL 値の挿入
CREATE TABLE datetimetest (testcolumn DATETIME NULL DEFAULT NULL); INSERT INTO datetimetest (testcolumn) VALUES (NULL);
PHP Prepared を使用して 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 を明示的に送信するか、変数を空のままにしてください。
以上がMySQL の日時フィールドに NULL 値を適切に割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。