sql数据库执行错误代码1055怎么解决? 5

sql数据库执行错误代码1055怎么解决?如图1,后面我查找网上的资料,是在windows系统下,修改my.ini这个文件里面的ONLY_FULL_GROUP_BY配置,... sql数据库执行错误代码1055怎么解决?如图1,后面我查找网上的资料,是在windows系统下,修改my.ini这个文件里面的ONLY_FULL_GROUP_BY配置,打开这个文件以后,没找到相应的语句,图2,我的版本是sql8.0版本,请问现在该怎么操作?才能解决1055报错,高分求解答 展开
 我来答
司马刀剑
高粉答主

2019-10-01 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7525万
展开全部

错误代码1055。不过看了Expression里面的原因描述,我基本知道怎么回事了。原因是因为mysql中对 group by 用法的规定。严格意义上说,就是group by之后。select 的字段只能是group by的字段。或者需要加聚合函数的。在 oracle 中,一直有这项约定。所以直接就会报错。但是mysql 直到 5.7 版本之后才把这个要求明确限制起来。

很明显,这种问题两种思路:第一修改sql。按照规定的规范重写项目中所有有问题的sql。很明显代价太大。风险很高;第二种那就是把这种限制去掉,让功能继续像5.7之前的样子一样能跑。我果断选择了第二种。因为第一种代价太大。

解决办法:

1. 首先如何查看当前数据库使用的sql_mode:

select @@sql_mode; 

2. 修改mysql的配置文件,删掉only_full_group_by这一项

注意:Mac:Mysql默认安装在/usr/local目录下,这个目录可以通过command+shift+G进入:如下图

windows下是的配置文件是my.ini,自己可以找一下。

问题解决完了,然后剩下两个问题:

1. mysql里面的 sql_mode 一共有哪些,并且mode的值各自代表什么含义。在网上查询了一下,结果如下:

MySQL5.0以上版本支持三种sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES
1、ANSI模式:宽松模式,更改语法和行为,使其更符合标准SQL。对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。对于本文开头中提到的错误,可以先把sql_mode设置为ANSI模式,这样便可以插入数据,而对于除数为0的结果的字段值,数据库将会用NULL值代替。
将当前数据库模式设置为ANSI模式:切换到mysql命令下执行:set @@sql_mode=ANSI;  

2、TRADITIONAL模式:严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误,而不仅仅是警告。用于事物时,会进行事物的回滚。 注释:一旦发现错误立即放弃INSERT/UPDATE。如果你使用非事务存储引擎,这种方式不是你想要的,因为出现错误前进行的数据更改不会“滚动”,结果是更新“只进行了一部分”。
将当前数据库模式设置为TRADITIONAL模式:切换到mysql命令下执行:set @@sql_mode=TRADITIONAL;

3、STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。如果不能将给定的值插入到事务表中,则放弃该语句。对于非事务表,如果值出现在单行语句或多行语句的第1行,则放弃该语句。
将当前数据库模式设置为STRICT_TRANS_TABLES模式:切换到mysql命令下执行:set @@sql_mode=STRICT_TRANS_TABLES;  

匿名用户
2019-10-01
展开全部

网页链接这里有详细说明

追问
这个资料看过,没找到相应的配置,没找到ONLY_FULL_GROUP_BY这个在哪里修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云南新华电脑学校
2019-10-04 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部
B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符串,显示时,它们将被消息值取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式