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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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

如下图所示:

image.png


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
SQL 数据库 Python
【Python】已完美解决:(156, b“Incorrect syntax near the keyword ‘group’.DB-Lib error message 20018, severity
【Python】已完美解决:(156, b“Incorrect syntax near the keyword ‘group’.DB-Lib error message 20018, severity
152 0
|
7月前
|
数据库
Field ‘xxx‘ doesn‘t have a default value
Field ‘xxx‘ doesn‘t have a default value
61 0
|
Linux
ERROR: 2 matches found based on name: network product-server_default is ambiguous
ERROR: 2 matches found based on name: network product-server_default is ambiguous
168 0
|
Java Go API
译|Don’t just check errors, handle them gracefully(二)
译|Don’t just check errors, handle them gracefully(二)
100 0
|
程序员 Go API
译|Don’t just check errors, handle them gracefully(一)
译|Don’t just check errors, handle them gracefully
83 0
错误代码: 1364 Field ‘password‘ doesn‘t have a default value
错误代码: 1364 Field ‘password‘ doesn‘t have a default value
|
安全 iOS开发 MacOS
“XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
“XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
610 0
|
关系型数据库 数据安全/隐私保护 MySQL
MySQL ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
异常: ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number 异常.
2426 0
下一篇
DataWorks