Description:
mysql> drop table if exists sb;
Query OK, 0 rows affected (0.00 sec)
mysql> create table sb(a datetime);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into sb values("9-01-01 12:34:56");
Query OK, 1 row affected (0.01 sec) ;
Yeah, insertion succeed. But, when we change datetime to timestamp,things get weird.
mysql> drop table sb;
Query OK, 0 rows affected (0.01 sec)
mysql> create table sb(a timestamp);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into sb values("9-01-01 12:34:56");
ERROR 1292 (22007): Incorrect datetime value: '9-01-01 12:34:56' for column 'a' at row 1
It failed !
mysql> select @@sql_mode;
+-------------------+
| @@sql_mode |
+-------------------+
| STRICT_ALL_TABLES |
+-------------------+
1 row in set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.22 |
+-----------+
1 row in set (0.00 sec)
How to repeat:
drop table if exists sb;
create table sb(a datetime);
insert into sb values("9-01-01 12:34:56");
drop table sb;
create table sb(a timestamp);
insert into sb values("9-01-01 12:34:56");
Suggested fix:
both failed or both succeed.