在mysql5.7中,如果对datetime类型的字段设置为not null但是没有给予数据时,默认就会为:"0000-00-00 00:00:00"
但是用这个字段做order by时,就会出现错误,解决办法就是更改这些0数据,再设置字段默认值为基于一个日期不全为0的值
还有就是可以解除这种限制,通过查看
select @@sql_mode
查看到:
NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零
NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
去掉这两个,应该也可以,没试。