Maison > Article > base de données > Comment puis-je stocker des valeurs NULL dans les champs Datetime dans MySQL ?
Stockage de valeurs NULL dans les champs Datetime dans MySQL
Dans MySQL, les champs datetime ne sont généralement pas autorisés à contenir des valeurs NULL. Cela peut poser un défi lorsque vous devez représenter des dates vides ou indéterminées.
Cependant, il existe une solution simple : MySQL autorise les valeurs NULL dans les champs datetime. Pour en profiter, vous pouvez utiliser la syntaxe suivante :
CREATE TABLE table_name ( datetime_field DATETIME NULL DEFAULT NULL );
En définissant la valeur DEFAULT sur NULL, vous vous assurez que le champ est initialisé avec NULL et peut accepter les valeurs NULL des mises à jour PHP.
Pour mettre à jour un enregistrement sans définir le champ datetime, omettez-le simplement de la requête de mise à jour. Par exemple :
$stmt = $conn->prepare("UPDATE table_name SET field1 = ... WHERE id = ...");
Dans cet exemple, le champ datetime restera NULL si vous ne lui fournissez pas de valeur dans les paramètres liés.
Alternativement, pour définir explicitement le champ datetime à NULL, liez la variable PHP au paramètre SQL comme suit :
$stmt->bindParam(':datetime_field', $datetime_field, PDO::PARAM_STR | PDO::PARAM_NULL);
S'assurer que votre variable PHP contient réellement NULL empêchera le message "Incorrect erreur "valeur date/heure". En suivant ces directives, vous pouvez stocker efficacement les valeurs NULL dans les champs datetime dans MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!