Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas définir \'0000-00-00 00:00:00\' comme valeur par défaut pour un champ d'horodatage ?

Pourquoi ne puis-je pas définir \'0000-00-00 00:00:00\' comme valeur par défaut pour un champ d'horodatage ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 02:27:30367parcourir

Why Can't I Set '0000-00-00 00:00:00' as the Default Value for a Timestamp Field?

Comprendre le message d'erreur : valeur par défaut non valide pour le champ d'horodatage 'create_date'

L'instruction SQL fournie tente de créer une table avec un champ d'horodatage (create_date) qui a une valeur par défaut de '0000-00-00 00:00:00'. Cependant, le mode SQL 'NO_ZERO_DATE' interdit l'utilisation de cette valeur comme date valide.

Pourquoi le mode interdit '0000-00-00 00:00:00' ?

Ce mode applique des règles de validation de date plus strictes. Il empêche l'insertion de dates avec des valeurs nulles, telles que « 0000-00-00 », ce qui peut entraîner des incohérences et des erreurs dans l'analyse des données.

Comment résoudre l'erreur ?

Pour résolvez l'erreur, vous avez deux options :

  1. Modifier la valeur par défaut : Définir une valeur d'horodatage valide (autre que « 0000-00-00 00:00:00 ») comme valeur par défaut pour le champ create_date.
  2. Désactivez le mode NO_ZERO_DATE :

    <code class="sql">SET SQL_MODE=(SELECT REPLACE(@@SQL_MODE, 'NO_ZERO_DATE', ''));</code>

    Cela désactivera temporairement le mode, vous permettant de créer la table avec la valeur par défaut '0000-00-00 00:00:00'. Cependant, il est important de réactiver le mode par la suite pour garantir l'intégrité des données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn