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 :
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
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!