Speichern von NULL-Werten in Datetime-Feldern in MySQL
In MySQL dürfen Datetime-Felder normalerweise keine NULL-Werte enthalten. Dies kann eine Herausforderung darstellen, wenn Sie leere oder unbestimmte Datumsangaben darstellen müssen.
Es gibt jedoch eine einfache Problemumgehung: MySQL lässt NULL-Werte in Datums-/Uhrzeitfeldern zu. Um dies zu nutzen, können Sie die folgende Syntax verwenden:
CREATE TABLE table_name ( datetime_field DATETIME NULL DEFAULT NULL );
Indem Sie den DEFAULT-Wert auf NULL setzen, stellen Sie sicher, dass das Feld mit NULL initialisiert wird und NULL-Werte von PHP-Updates akzeptieren kann.
Um einen Datensatz zu aktualisieren, ohne das Datum/Uhrzeit-Feld festzulegen, lassen Sie es einfach aus der Aktualisierungsabfrage weg. Zum Beispiel:
$stmt = $conn->prepare("UPDATE table_name SET field1 = ... WHERE id = ...");
In diesem Beispiel bleibt das Datum/Uhrzeit-Feld NULL, wenn Sie in den gebundenen Parametern keinen Wert dafür angeben.
Alternativ können Sie das Datum/Uhrzeit-Feld explizit festlegen auf NULL binden, binden Sie die PHP-Variable wie folgt an den SQL-Parameter:
$stmt->bindParam(':datetime_field', $datetime_field, PDO::PARAM_STR | PDO::PARAM_NULL);
Stellen Sie sicher, dass Ihre PHP-Variable tatsächlich NULL enthält, um das zu verhindern Fehler „Falscher Datum/Uhrzeit-Wert“. Wenn Sie diese Richtlinien befolgen, können Sie NULL-Werte effektiv in Datums-/Uhrzeitfeldern in MySQL speichern.
Das obige ist der detaillierte Inhalt vonWie kann ich NULL-Werte in Datetime-Feldern in MySQL speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!