一、问题说明
在 mysql 较低版本中,对 SQL 语句并没有严格的限制检查,在 5.7 及以上版本开启严格模式,在插入数据的时候,如果字段没有设置默认值,则会报类似于这样的错误:
Field ‘title’ doesn't have a default value
二、解决方法
2.1、查看sql_mode
select @@sql_mode
查询出来的值为
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CRE
2.2、修改
set sql_mode='';
set global sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';