新用户注册入口 老用户登录入口

[转载]MySql数据库报错SQLSTATE[HY000]: General error: 1364 Field ‘xxxxx‘ doesn‘t have a default value解决方案

文章作者:转载 更新时间:2023-12-02 23:16:25 阅读数量:288
文章标签:MySQL严格模式网站上传文件配置文件错误MySQL
本文摘要:这篇文章主要针对在网站上传文件时出现的MySQL错误(SQLSTATE[HY000]: General error: 1364 Field 'xxxxx' doesn't have a default value)提供解决方案。问题根源在于MySQL数据库配置文件(如my.ini或CentOS 7.6系统中的/etc/my.cnf)中的sql-mode参数采用了严格模式(STRICT_TRANS_TABLES)。解决方法是修改sql-mode设置,将其更改为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,并重启MySQL服务(service mysqld restart)。这样即可避免因字段无默认值导致的上传失败问题。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/LizmWintac/article/details/126901852。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

网站上传文件时,一直报错无法上传

SQLSTATE[HY000]: General error: 1364 Field 'xxxxx' doesn't have a default value

后来发现是配置文件中有一个值默认出错

最终找到办法,就是mysql设置的问题,有my.ini的就找这个文件,没有的就找my.cnf(这个一般都在/ect/my.conf

本作者使用的CentOS7.6系统:

然后打开MySql配置文件 

 然后找到[MySql]

然后找

sql-mode=STRICT_TRANS_TABLESNO_ENGINE_SUBSTITUTION

问题原因: 主要是MySQL使用了严格验证方式:

解决方法: 直接把sql-mode模式改变下

这个可能你我的不相同,你只要找到sql-mode 就好

然后把这句删掉,改成:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后在重启数据库

service mysqld restart

完美解决

更多教程:www.zcxsmart.com

本篇文章为转载内容。原文链接:https://blog.csdn.net/LizmWintac/article/details/126901852。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
sql-modesql-mode 是MySQL数据库服务器的一个系统变量,用于控制SQL语句解析和执行的行为模式。不同的sql-mode组合可以启用或禁用特定的SQL语法检查、数据校验规则等。在本文中提到的问题场景下,由于配置文件设置了严格的SQL模式(如STRICT_TRANS_TABLES),导致MySQL在插入记录时对字段完整性有严格要求,若无默认值则会抛出错误。
STRICT_TRANS_TABLESSTRICT_TRANS_TABLES 是MySQL sql-mode设置中的一种模式选项。当开启此模式时,MySQL会对事务性存储引擎(如InnoDB)执行更严格的SQL标准兼容性检查。在进行INSERT或UPDATE操作时,如果在可变长度行上违反了NOT NULL约束并且未给出默认值,MySQL将拒绝执行该操作并返回错误,而不是尝试填充默认值或自动转换类型。在解决网站上传文件时报错问题时,文章建议关闭这一严格模式,以适应部分字段可能未指定值的情况。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在处理网站开发中与MySQL数据库交互时,尤其是文件上传等复杂操作,可能会遇到因MySQL严格模式引发的各种错误。本文所讨论的“SQLSTATE[HY000]: General error: 1364 Field 'xxxxx' doesn't have a default value”就是一个典型例子。为了解决这类问题,开发者需深入理解MySQL的sql-mode配置及其对数据验证的影响。
近期,随着MySQL 8.0版本的广泛使用,数据库的严格性设置得到了进一步强化,这要求开发者更加关注表结构设计和SQL语句编写规范。例如,MySQL官方文档建议,在迁移到新版本前应审查现有的sql-mode设置,并根据业务需求进行适当调整(参见:https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html)。
另外,考虑到数据一致性及安全性,尽管放宽严格模式可以解决部分插入异常,但并不意味着完全摒弃严格模式的优点。实际上,诸如STRICT_TRANS_TABLES等严格模式选项有助于提前发现潜在的数据问题,防止脏数据入库。因此,在实际项目中,应当权衡灵活性与数据完整性,选择最合适的sql-mode组合。
此外,为了更好地应对因MySQL严格模式引起的问题,开发人员还应该熟悉并掌握错误日志分析、事务控制、以及利用触发器、存储过程等手段确保数据完整性。同时,结合具体业务场景,通过合理的表结构设计(如设置默认值或允许字段为空),可以从根本上避免类似问题的发生。
综上所述,深入理解MySQL的运行模式并合理配置sql-mode参数对于优化数据库性能、保证数据安全性和完整性至关重要。同时,结合最新的MySQL版本特性与最佳实践,可有效预防和解决在网站开发过程中可能遇到的相关问题。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
find /path/to/search -name "filename" - 在指定目录下递归查找文件。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
RabbitMQ实战中因API版本问题导致消息丢失的排查与修复 03-12 jQuery元素滚动动画库插件-ScrollMagic 02-09 属性级联同步与实体管理:Hibernate实战案例详解 01-27 jQuery超酷3D包装盒封面旋转特效 05-16 ElSteps组件动态改变当前步骤时样式更新滞后问题的Vue.js解决方案 02-22 java中处理异常的方式和语句 01-13 AI助手的工作原理与限制:无法按特定要求撰写的原因及信息处理分析 12-27 代码写的html网红钟表 12-18 简约大气文艺工作者作品展示网站模板 09-21 本次刷新还10个文章未展示,点击 更多查看。
ClickHouse系统重启情境下的数据丢失风险与应对:写入一致性、同步模式及备份恢复策略实践 08-27 jQuery带放大镜的迷你幻灯片插件 08-16 简约手机UI设计公司网站模板下载 04-30 绿色经典响应式主机服务器托管网站模板 04-25 PostgreSQL中应对密码过期警告:安全更改密码的步骤与注意事项 04-17 docker改tag(docker改配置文件) 03-17 [转载]蓝桥 利息计算(Java) 03-11 jquery文字动画特效插件animatext 01-22 大气简洁手机电子产品展示柜台前端模板 01-22 [转载]ubuntu用户和权限介绍 01-10 可爱毛绒玩具网上商城响应式网站模板 01-05
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"