web-dev-qa-db-fra.com

MySQL 1292 Valeur date/heure incorrecte

Je reçois cette erreur lorsque j'essaie d'insérer "2011/03/13 02: 53: 50.000000000" dans une colonne timestamp. Si je change le 13 en 15, 14, 12 ou 11 cela ne pose aucun problème. J'ai aussi essayé de changer les/pour en-et toujours pas.

J'ai parcouru d'autres sujets liés à cette erreur, mais aucun ne semble s'appliquer.

J'utilise la version 5.7.9.

6
CycleGeek

Il m'a fallu un certain temps pour comprendre cela ...

Le problème est que '2011-03-13 02:53:50' est illégal en raison de la commutation de l'heure d'été entre 2 et 3 heures du matin. Toutes les valeurs d'heure comprises entre 2 et 3 heures du matin, quel que soit le jour de l'introduction de l'heure d'été, sont invalides. Pareil pour '2016-03-13 02:32:21', etc.

Changez le fuseau horaire du système pour celui qui n'utilise pas l'heure d'été et tout devrait bien se passer.

18
nik

Vous devez essayer ceci:

STR_TO_DATE( '2011/03/13 02:53:50', '%Y/%m/%d %H:%i:%s')

ou bien vous devez insérer les dates en utilisant le séparateur de tirets (-) comme

'2011-03-13 02:53:50' 

SQL FIDDLE DEMO

0
Rahul Tripathi

Vous ne savez toujours pas quel est le problème, c'était peut-être une combinaison des versions de CentOS et de MySQL. J'ai changé la colonne en datatime (6) au lieu de timestamp (6) et j'ai pu importer toutes mes données avec succès.

0
CycleGeek