当前位置: 首页 >数据库 > MySQL 1364 错误解决办法

MySQL 1364 错误解决办法

MySQL 1364 错误解决办法

摘要:
这几天把一个PHP的门户网站上传到了服务器上,但出现了一个这个的问题,在本地用的是集成的WampServer的集成环境,测试提交的数据都没有问题,但在服务器上出现的是提交失败,服务器上用的是Mysql5.0以上的,导致会员注册失败,检查SQL语句没有问题,然后把SQL的语句直接在页面打印了出来,在Phpmyadmin里运行了一下,出现了如下的错误:MySQL 1364 错误提示:#1364 – Field “details” doesn’t have a default value。

这几天把一个PHP的门户网站上传到了服务器上,但出现了一个这个的问题,在本地用的是集成的WampServer的集成环境,测试提交的数据都没有问题,但在服务器上出现的是提交失败,服务器上用的是Mysql5.0以上的,导致会员注册失败,检查SQL语句没有问题,然后把SQL的语句直接在页面打印了出来,在Phpmyadmin里运行了一下,出现了如下的错误:MySQL 1364 错误提示:#1364 - Field "details" doesn't have a default value。

MySQL 1364 错误提示:#1364 - Field "details" doesn't have a default value。大概意思是:details字段没有默认的数值;也就是说我们没有为其分配数值,而表中此字段也没有设置默认值。这是MySQL5出来后搞出来的东东,认真看一下my.ini文件中有这样一段:

my.ini中相关代码
# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"
假如您无法看到my.ini,你可以执行以下SQL命令。

SQL代码
Select @@GLOBAL.sql_mode;
您可能一下子就注意到:STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)。这也就是为什么我们插入数据时返回1364的原因:details字段没有设置默认值。

解决办法有两种:

第一种:数据库设计时,为可能没有数据的字段设置默认值。

第二种:设置SQL的模式,此有两种方法:

(1),配置my.ini,去掉:STRICT_TRANS_TABLES

my.ini配置代码
# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"

(2),运行SQL命令。注:此命令需要权限!

SQL代码
SET @@GLOBAL.sql_mode="NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION";
因为比较擅长用Phpmyadmin 所以直接运行了SQL的命令,问题解决。
 

作者:幽香飞狐
来源链接:https://www.cnblogs.com/linghuhechou/p/14670143.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118454.html

标签:1364:Field
分享给朋友:

“MySQL 1364 错误解决办法” 的相关文章

mysql查询结果中文显示成了问号 2022年06月07日 02:00:43
mysql查询各分区数据量大小 2022年06月10日 23:41:45
MYSQL根据日期查询 2022年06月11日 21:03:52
MySQL查询指定行的记录 2022年06月14日 06:02:58
MySQL的查询优化——背后原理 2022年06月14日 22:31:44
mysql null 优化 2022年06月15日 17:15:21
让MySQL查询的字段用中文显示 2022年06月20日 11:36:12