当前位置:首页 > 后端 > 正文内容

【已解决】SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in

virtualman1年前 (2024-03-21)后端1782

改一个老项目,然后配置完成突然就报错了,MySQL是5.7的版本。

这个错误是MySQL在严格模式下特有的,当你尝试查询一个表但SELECT语句中列出的某些字段并没有明确出现在GROUP BY子句中时,就会触发这个错误。这是为了防止不确定的结果,因为在没有明确的聚合函数(如SUM、AVG、MAX等)的情况下,MySQL不知道应该如何为这些未列出的字段选择值。

解决方法:

在my.ini的配置文件中,[mysqld]下面加入:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


以禁用MySQL的严格模式即可。

image.png

相关文章

FastAPI、Go 和 Node.js 性能对比

在现代后端开发中,选择合适的编程语言和框架对于构建高性能、高扩展性的应用至关重要。FastAPI、Go 和 Node.js 是目前非常流行的三种技术栈,它们各自有独特的优势和适用场景。本文将从性能角度对这三者进行对比分析,帮助开发者更好地选择适合项目需求的技术方案。 性能对比为了全面评估这三种...

【GO】为什么说go的“继承”并不是真正的继承?

【GO】为什么说go的“继承”并不是真正的继承?

昨天和一个朋友在讨论这个问题,他提到在学习go的时候,有弹幕说,这并不是继承,而是组合。我说:我也是这么认为的,今天就详细解释一下,为什么这么说。 在讨论Go语言中继承与组合的问题时,我们需要明确几个关键概念: ˂a name="继承与组合的定义:" class="reference-link"...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。