tomcat项目部署mysql报错3065

报错:

SQL: SELECT DISTINCT ct.serial_no AS serial_no FROM xzfy_case_table AS ct WHERE ct.case_status != ? AND ct.registrant_id = ? ORDER BY application_date DESC LIMIT ?, ?

Cause: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT

; uncategorized SQLException; SQL state HY000; error code 3065; Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT; nested exception is java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT

本地 在application_date前加上ct.可以正常运行不报错

互联网 在application_date前加上ct.还是报错

原因:

通过show VARIABLES查看mysql的详细配置

sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

是因为ONLY_FULL_GROUP_BY的存在

解决办法:(永久关闭ONLY_FULL_GROUP_BY)

1.找到配置文件/etc/my.cnf(或则关联文件夹找到mysql-server.cnf)

2.在上述文件内的mysqld后追加

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

3.保存配置文件后,重启Mysql即可。

相关推荐
丷丩1 小时前
Postgresql基础实践教程(十一)各种Join
数据库·postgresql·join
星夜夏空991 小时前
FreeRTOS学习(4)——内存映射
数据库·学习·mongodb
TheRouter2 小时前
AI Agent 记忆体系建设实战:短期、长期与工作记忆的工程实现
数据库·人工智能·oracle
Omics Pro2 小时前
首个!外源天然产物综合性代谢图谱
数据库·人工智能·算法·机器学习·r语言
唐青枫2 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
sql·mysql
JAVA面经实录9173 小时前
Hibernate面试题库
数据库·oracle·hibernate
2301_773643623 小时前
华为云存储实验
网络·mysql·华为云
迷枫7123 小时前
DM8 目录结构与常用排查入口梳理
服务器·数据库
Mr.Daozhi5 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具
小程故事多_805 小时前
Claude Code自定义workflow skills用法
数据库·人工智能·智能体