数据库问题
今天使用安装某网盘程序时出现如下报错:
SQLSTATE[HY000]: General error: 1364 Field 'post_excerpt' doesn't have a default value
翻译:
SQLSTATE[HY000]: 常规错误:1364字段'post_excerpt'没有默认值
只要是这类问题都可以用此办法解决。
SQLSTATE[HY000]: General error: 1364 Field 'xxxxxx' doesn't have a default value
处理方式
解决这个问题有两个办法,可能每个人的场景不一样,肯定会有其中一个办法适合你的。为了方便,我是推荐大家用第二种办法,如果你的字段不太多,就用第一种方法吧!
注意:改了mysql配置文件后,一定要重启mysql。
第一种方法:
既然报错说某字段没有默认值,我直接去相应的数据库,数据表直接设置一个默认值不就OK了吗?
第二种方法:
有时候修改了字段的默认值后此问题根本没有解决,我们就需要修改mysql的配置文件,原因是由于mysql的高版本配置导致的。windows修改my.ini,linux用户修改my.cnf(/etc/my.cnf)
把默认值
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
修改成下面的即可解决:
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
或者
sql-mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
修改完后我们记得重启mysql
如下图所示: