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 ?
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.
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.
Pour résolvez l'erreur, vous avez deux options :
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!