MySQL之Field‘***’doesn’t have a default value错误解决办法

  一个注册报错的问题,是因为字段没有默认值,我本地环境mysql5.5没有问题,外网演示环境是mysql5.6,通过查资料知道了原来是my.ini配置问题的问题。

解决方法:

打开my.ini,查找

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

修改为

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后重启MYSQL


STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。 

在STRICT_TRANS_TABLES模式下,当我们插入数据时,mysql会严格的进行数据的校验,当发现插入列值未满足要求,直接报告error错误,保证了错误数据无法插入到数据库中。


评论