top
本站为个人博客,博客所发布的一切文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款

SQLSTATE[HY000]: General error: 1364 Field ‘xxx’ doesn't have a default value 解决办法

数据库问题

今天使用安装某网盘程序时出现如下报错:

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

如下图所示:
SQLSTATE[HY000]: General error: 1364 Field ‘xxx’ doesn't have a default value 解决办法插图

THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报
发表评论
评论列表

赶快来坐沙发

诺言博客