Heim >Datenbank >MySQL-Tutorial >Wie kann ich NULL-Werte in Datetime-Feldern in MySQL speichern?

Wie kann ich NULL-Werte in Datetime-Feldern in MySQL speichern?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-13 09:43:021056Durchsuche

How Can I Store NULL Values in Datetime Fields in MySQL?

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 setzen, 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn