1
なぜ2016-03-27 02:01:01
が無効なタイムスタンプ/ datetime値ですか?mysql 5.7不正なタイムスタンプ値 '2016-03-27 02:01:01'
mysql> CREATE TABLE table1(time1 TIMESTAMP);
Query OK, 0 rows affected (0.09 sec)
mysql> INSERT INTO table1 VALUES('2016-03-27 01:01:01');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO table1 VALUES('2016-03-27 03:01:01');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO table1 VALUES('2016-03-27 02:01:01');
ERROR 1292 (22007): Incorrect datetime value: '2016-03-27 02:01:01' for column 'time1' at row 1
mysql> SELECT @@sql_mode;
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
mysql> SET sql_mode = 'ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO table1 VALUES('2016-03-27 02:01:01');
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql Ver 14.14 Distrib 5.7.11, for osx10.10 (x86_64) using EditLine wrapper
はい、それを説明することができますそれを参照してください!しかし、最も驚くべきことは、私はmysqlデータベース(mysqldump)のエクスポートを行い、mysqlを5.7にアップグレードしてから、この(および他の)問題をインポートに持っているということです。だから、これは夏時間のため、私は最初の場所でこの価値を得る方法ですか?私はこれは古いデータベースでチェックされていないと思います。 –