Maison >base de données >tutoriel mysql >Comment corriger l'erreur MySQL 1292 : « Valeur date/heure incorrecte » ?

Comment corriger l'erreur MySQL 1292 : « Valeur date/heure incorrecte » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 09:07:13668parcourir

How to Fix MySQL Error 1292:

Valeur date/heure incorrecte : résolution de l'erreur MySQL 1292

Lors de la conversion d'une base de données existante avec des valeurs date/heure stockées sous la forme '0000-00-00 00 : 00:00', les utilisateurs peuvent rencontrer l'erreur MySQL 1292 : "Valeur datetime incorrecte." Cette erreur se produit en raison de conflits de version entre la base de données MySQL d'origine (par exemple, 5.1) et les versions plus récentes (par exemple, 5.7), qui gèrent les valeurs datetime différemment.

Pour résoudre ce problème, les étapes suivantes peuvent être suivies :

Option 1 : Convertir '0000-00-00 00:00:00' en NULL

  1. Tentative de conversion des colonnes datetime avec « 0000-00-00 00:00:00 » en NULL à l'aide de la requête suivante :
ALTER TABLE users MODIFY created datetime NULL DEFAULT '1970-01-01 00:00:00';

Si cela échoue, passez à l'option 2.

Option 2 : utiliser CHAR Conversion

  1. Mettez à jour les lignes concernées en définissant la colonne datetime sur NULL uniquement si sa valeur est '0000-00-00 00:00:00' sous forme de chaîne de caractères :
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';

Cette requête alternative utilise la fonction CAST pour convertir les valeurs datetime en une chaîne de caractères de 20 caractères et met à jour uniquement les lignes où le résultat correspond à « 0000-00-00 00:00:00 ».

Une fois les mises à jour terminées, vous devriez pouvoir modifier avec succès le jeu de caractères et le classement de la table de base de données sans rencontrer l'erreur de valeur datetime incorrecte.

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