Maison > base de données > tutoriel mysql > Comment résoudre l'erreur MySQL 1292 : valeur datetime incorrecte lors de la modification de la table ?

Comment résoudre l'erreur MySQL 1292 : valeur datetime incorrecte lors de la modification de la table ?

DDD
Libérer: 2024-11-27 16:46:11
original
926 Les gens l'ont consulté

How to Resolve MySQL Error 1292: Incorrect Datetime Value During Table Alteration?

Erreur MySQL 1292 : valeur date/heure incorrecte

Dans MySQL, tenter de modifier le type de données ou le jeu de caractères d'une table peut entraîner le message "Incorrect erreur "valeur date/heure". Ce scénario se produit lorsque des données existantes entrent en conflit avec le nouveau type de données ou le nouveau codage.

Par exemple, lors de l'importation de données depuis une base de données avec le jeu de caractères latin1 dans MySQL 5.7, qui utilise UTF-8, vous pouvez rencontrer cette erreur. lorsque vous essayez de modifier certaines colonnes.

Plus précisément, si une colonne datetime contient la valeur non valide '0000-00-00 00:00:00', vous pourriez être confronté à ce problème. Pour le résoudre, essayez les étapes suivantes :

  1. Vérifiez s'il existe des lignes avec la valeur datetime non valide :
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
Copier après la connexion
  1. Essayez de mettre à jour la valeur datetime non valide valeurs à NULL à l'aide de la fonction CAST :
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
Copier après la connexion
  1. Une fois les valeurs invalides mis à jour, vous pouvez procéder à la modification souhaitée :
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
Copier après la connexion

Il est important de noter que la fonction CAST vous permet de convertir la valeur datetime en chaîne, qui peut ensuite être comparée à la valeur invalide et mis à jour vers NULL sans générer l'erreur.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal